2 * Copyright (C) 2003 Ulrich Czekalla for CodeWeavers
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.
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.
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
26 #define SDDL_REVISION_1 1
27 #define SDDL_REVISION SDDL_REVISION_1
29 #ifndef WINE_NO_UNICODE_MACROS
32 # define SDDL_OWNER "O"
33 # define SDDL_GROUP "G"
34 # define SDDL_DACL "D"
35 # define SDDL_SACL "S"
37 # if defined(_MSC_VER) || defined(__MINGW32__)
38 # define SDDL_OWNER L"O"
39 # define SDDL_GROUP L"G"
40 # define SDDL_DACL L"D"
41 # define SDDL_SACL L"S"
43 static const WCHAR SDDL_OWNER
[] = { 'O',0 };
44 static const WCHAR SDDL_GROUP
[] = { 'G',0 };
45 static const WCHAR SDDL_DACL
[] = { 'D',0 };
46 static const WCHAR SDDL_SACL
[] = { 'S',0 };
50 /* Separators as characters */
51 /* SDDL_SEPERATORC is not a typo, as per Microsoft's headers */
53 # define SDDL_SEPERATORC ';'
54 # define SDDL_DELIMINATORC ':'
55 # define SDDL_ACE_BEGINC '('
56 # define SDDL_ACE_ENDC ')'
58 # define SDDL_SEPERATORC ((WCHAR)';')
59 # define SDDL_DELIMINATORC ((WCHAR)':')
60 # define SDDL_ACE_BEGINC ((WCHAR)'(')
61 # define SDDL_ACE_ENDC ((WCHAR)')')
64 /* Separators as strings */
65 /* SDDL_SEPERATOR is not a typo, as per Microsoft's headers */
67 # define SDDL_SEPERATOR ";"
68 # define SDDL_DELIMINATOR ":"
69 # define SDDL_ACE_BEGIN "("
70 # define SDDL_ACE_END ")"
72 # if defined(_MSC_VER) || defined(__MINGW32__)
73 # define SDDL_SEPERATOR L";"
74 # define SDDL_DELIMINATOR L":"
75 # define SDDL_ACE_BEGIN L"("
76 # define SDDL_ACE_END L")"
78 static const WCHAR SDDL_SEPERATOR
[] = { ';',0 };
79 static const WCHAR SDDL_DELIMINATOR
[] = { ':',0 };
80 static const WCHAR SDDL_ACE_BEGIN
[] = { '(',0 };
81 static const WCHAR SDDL_ACE_END
[] = { ')',0 };
84 #endif /* WINE_NO_UNICODE_MACROS */
86 BOOL WINAPI
ConvertSidToStringSidA( PSID
, LPSTR
* );
87 BOOL WINAPI
ConvertSidToStringSidW( PSID
, LPWSTR
* );
88 #define ConvertSidToStringSid WINELIB_NAME_AW(ConvertSidToStringSid)
90 BOOL WINAPI
ConvertStringSidToSidA( LPCSTR
, PSID
* );
91 BOOL WINAPI
ConvertStringSidToSidW( LPCWSTR
, PSID
* );
92 #define ConvertStringSidToSid WINELIB_NAME_AW(ConvertStringSidToSid)
94 BOOL WINAPI
ConvertStringSecurityDescriptorToSecurityDescriptorA(
95 LPCSTR
, DWORD
, PSECURITY_DESCRIPTOR
*, PULONG
);
96 BOOL WINAPI
ConvertStringSecurityDescriptorToSecurityDescriptorW(
97 LPCWSTR
, DWORD
, PSECURITY_DESCRIPTOR
*, PULONG
);
98 #define ConvertStringSecurityDescriptorToSecurityDescriptor WINELIB_NAME_AW(ConvertStringSecurityDescriptorToSecurityDescriptor)
100 BOOL WINAPI
ConvertSecurityDescriptorToStringSecurityDescriptorA(
101 PSECURITY_DESCRIPTOR
, DWORD
, SECURITY_INFORMATION
, LPSTR
*, PULONG
);
102 BOOL WINAPI
ConvertSecurityDescriptorToStringSecurityDescriptorW(
103 PSECURITY_DESCRIPTOR
, DWORD
, SECURITY_INFORMATION
, LPWSTR
*, PULONG
);
104 #define ConvertSecurityDescriptorToStringSecurityDescriptor WINELIB_NAME_AW(ConvertSecurityDescriptorToStringSecurityDescriptor)
110 #endif /* __SDDL_H__ */