ntdll: Fix compilation on systems that don't support nameless unions.
[wine] / include / sddl.h
1 /*
2  * Copyright (C) 2003 Ulrich Czekalla for CodeWeavers
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17  */
18
19 #ifndef __SDDL_H__
20 #define __SDDL_H__
21
22
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
26
27 /*
28  * SDDL Version information
29  */
30 #define SDDL_REVISION_1     1
31 #define SDDL_REVISION       SDDL_REVISION_1
32
33 /*
34  * SDDL Component tags
35  */
36 #define SDDL_OWNER                          TEXT("O")
37 #define SDDL_GROUP                          TEXT("G")
38 #define SDDL_DACL                           TEXT("D")
39 #define SDDL_SACL                           TEXT("S")
40
41 /*
42  * SDDL Separators - character version
43  */
44 /* SDDL_SEPERATORC is not a typo, as per Microsoft's headers */
45 #define SDDL_SEPERATORC                     TEXT(";")
46 #define SDDL_DELIMINATORC                   TEXT(":")
47 #define SDDL_ACE_BEGINC                     TEXT("(")
48 #define SDDL_ACE_ENDC                       TEXT(")")
49
50 /*
51  * SDDL Separators - string version
52  */
53 /* SDDL_SEPERATOR is not a typo, as per Microsoft's headers */
54 #define SDDL_SEPERATOR                     TEXT(";")
55 #define SDDL_DELIMINATOR                   TEXT(":")
56 #define SDDL_ACE_BEGIN                     TEXT("(")
57 #define SDDL_ACE_END                       TEXT(")")
58
59 BOOL WINAPI ConvertSidToStringSidA( PSID, LPSTR* );
60 BOOL WINAPI ConvertSidToStringSidW( PSID, LPWSTR* );
61 #define ConvertSidToStringSid WINELIB_NAME_AW(ConvertSidToStringSid)
62
63 BOOL WINAPI ConvertStringSidToSidA( LPCSTR, PSID* );
64 BOOL WINAPI ConvertStringSidToSidW( LPCWSTR, PSID* );
65 #define ConvertStringSidToSid WINELIB_NAME_AW(ConvertStringSidToSid)
66
67 BOOL WINAPI ConvertStringSecurityDescriptorToSecurityDescriptorA(
68     LPCSTR, DWORD, PSECURITY_DESCRIPTOR*, PULONG );
69 BOOL WINAPI ConvertStringSecurityDescriptorToSecurityDescriptorW(
70     LPCWSTR, DWORD, PSECURITY_DESCRIPTOR*, PULONG );
71 #define ConvertStringSecurityDescriptorToSecurityDescriptor WINELIB_NAME_AW(ConvertStringSecurityDescriptorToSecurityDescriptor)
72
73 BOOL WINAPI ConvertSecurityDescriptorToStringSecurityDescriptorA(
74     PSECURITY_DESCRIPTOR, DWORD, SECURITY_INFORMATION, LPSTR*, PULONG );
75 BOOL WINAPI ConvertSecurityDescriptorToStringSecurityDescriptorW(
76     PSECURITY_DESCRIPTOR, DWORD, SECURITY_INFORMATION, LPWSTR*, PULONG );
77 #define ConvertSecurityDescriptorToStringSecurityDescriptor WINELIB_NAME_AW(ConvertSecurityDescriptorToStringSecurityDescriptor)
78
79 #ifdef __cplusplus
80 }
81 #endif
82
83 #endif  /* __SDDL_H__ */