fix compile with gcc
[reactos.git] / reactos / w32api / 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 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 #define SDDL_SEPERATORC TEXT(";")
45 #define SDDL_DELIMINATORC TEXT(":")
46 #define SDDL_ACE_BEGINC TEXT("(")
47 #define SDDL_ACE_ENDC TEXT(")")
48
49 /*
50 * SDDL Separators - string version
51 */
52 #define SDDL_SEPERATOR TEXT(";")
53 #define SDDL_DELIMINATOR TEXT(":")
54 #define SDDL_ACE_BEGIN TEXT("(")
55 #define SDDL_ACE_END TEXT(")")
56
57 BOOL WINAPI ConvertSidToStringSidA( PSID, LPSTR* );
58 BOOL WINAPI ConvertSidToStringSidW( PSID, LPWSTR* );
59 BOOL WINAPI ConvertStringSidToSidA( LPCSTR, PSID* );
60 BOOL WINAPI ConvertStringSidToSidW( LPCWSTR, PSID* );
61 BOOL WINAPI ConvertStringSecurityDescriptorToSecurityDescriptorA(
62 LPCSTR, DWORD, PSECURITY_DESCRIPTOR*, PULONG );
63 BOOL WINAPI ConvertStringSecurityDescriptorToSecurityDescriptorW(
64 LPCWSTR, DWORD, PSECURITY_DESCRIPTOR*, PULONG );
65 BOOL WINAPI ConvertSecurityDescriptorToStringSecurityDescriptorA(
66 PSECURITY_DESCRIPTOR, DWORD, SECURITY_INFORMATION, LPSTR*, PULONG );
67 BOOL WINAPI ConvertSecurityDescriptorToStringSecurityDescriptorW(
68 PSECURITY_DESCRIPTOR, DWORD, SECURITY_INFORMATION, LPWSTR*, PULONG );
69
70 #ifdef UNICODE
71 #define ConvertSidToStringSid ConvertSidToStringSidW
72 #define ConvertStringSidToSid ConvertStringSidToSidW
73 #define ConvertStringSecurityDescriptorToSecurityDescriptor \
74 ConvertStringSecurityDescriptorToSecurityDescriptorW
75 #define ConvertSecurityDescriptorToStringSecurityDescriptor \
76 ConvertSecurityDescriptorToStringSecurityDescriptorW
77 #else /* UNICODE */
78 #define ConvertSidToStringSid ConvertSidToStringSidA
79 #define ConvertStringSidToSid ConvertStringSidToSidA
80 #define ConvertStringSecurityDescriptorToSecurityDescriptor \
81 ConvertStringSecurityDescriptorToSecurityDescriptorA
82 #define ConvertSecurityDescriptorToStringSecurityDescriptor \
83 ConvertSecurityDescriptorToStringSecurityDescriptorA
84 #endif /* UNICODE */
85
86 #ifdef __cplusplus
87 }
88 #endif
89
90 #endif /* __SDDL_H__ */