Re-install OpenSSL 0.9.8k
[msysgit.git] / include / aclapi.h
blob7e7e62960ae3b85985705fe41eb32522fde4c43f
1 #ifndef _ACLAPI_H
2 #define _ACLAPI_H
4 #include <windows.h>
5 #include <accctrl.h>
7 #ifdef __cplusplus
8 extern "C" {
9 #endif
10 VOID WINAPI BuildExplicitAccessWithNameA(PEXPLICIT_ACCESS_A,LPSTR,DWORD,ACCESS_MODE,DWORD);
11 VOID WINAPI BuildExplicitAccessWithNameW(PEXPLICIT_ACCESS_W,LPWSTR,DWORD,ACCESS_MODE,DWORD);
12 DWORD WINAPI BuildSecurityDescriptorA(PTRUSTEE_A,PTRUSTEE_A ,ULONG,PEXPLICIT_ACCESS_A,
13 ULONG,PEXPLICIT_ACCESS_A,PSECURITY_DESCRIPTOR,PULONG,PSECURITY_DESCRIPTOR*);
14 DWORD WINAPI BuildSecurityDescriptorW(PTRUSTEE_W,PTRUSTEE_W ,ULONG,PEXPLICIT_ACCESS_W,
15 ULONG,PEXPLICIT_ACCESS_W,PSECURITY_DESCRIPTOR,PULONG,PSECURITY_DESCRIPTOR*);
16 VOID WINAPI BuildTrusteeWithNameA(PTRUSTEE_A,LPSTR);
17 VOID WINAPI BuildTrusteeWithNameW(PTRUSTEE_W,LPWSTR);
18 VOID WINAPI BuildTrusteeWithObjectsAndNameA(PTRUSTEE_A,POBJECTS_AND_NAME_A,SE_OBJECT_TYPE,
19 LPSTR,LPSTR,LPSTR);
20 VOID WINAPI BuildTrusteeWithObjectsAndNameW(PTRUSTEE_W,POBJECTS_AND_NAME_W,SE_OBJECT_TYPE,
21 LPWSTR,LPWSTR,LPWSTR);
22 VOID WINAPI BuildTrusteeWithObjectsAndSidA(PTRUSTEE_A,POBJECTS_AND_SID,GUID*,GUID*,PSID);
23 VOID WINAPI BuildTrusteeWithObjectsAndSidW(PTRUSTEE_W,POBJECTS_AND_SID,GUID*,GUID*,PSID);
24 VOID WINAPI BuildTrusteeWithSidA(PTRUSTEE_A,PSID);
25 VOID WINAPI BuildTrusteeWithSidW(PTRUSTEE_W,PSID);
26 DWORD WINAPI GetAuditedPermissionsFromAclA(PACL,PTRUSTEE_A,PACCESS_MASK,PACCESS_MASK);
27 DWORD WINAPI GetAuditedPermissionsFromAclW(PACL,PTRUSTEE_W,PACCESS_MASK,PACCESS_MASK);
28 DWORD WINAPI GetEffectiveRightsFromAclA(PACL,PTRUSTEE_A,PACCESS_MASK);
29 DWORD WINAPI GetEffectiveRightsFromAclW(PACL,PTRUSTEE_W,PACCESS_MASK);
30 DWORD WINAPI GetExplicitEntriesFromAclA(PACL,PULONG,PEXPLICIT_ACCESS_A*);
31 DWORD WINAPI GetExplicitEntriesFromAclW(PACL,PULONG,PEXPLICIT_ACCESS_W*);
32 DWORD WINAPI GetNamedSecurityInfoA(LPSTR,SE_OBJECT_TYPE,SECURITY_INFORMATION,
33 PSID*,PSID*,PACL*,PACL*,PSECURITY_DESCRIPTOR*);
34 DWORD WINAPI GetNamedSecurityInfoW(LPWSTR,SE_OBJECT_TYPE,SECURITY_INFORMATION,
35 PSID*,PSID*,PACL*,PACL*,PSECURITY_DESCRIPTOR*);
36 DWORD WINAPI GetSecurityInfo(HANDLE,SE_OBJECT_TYPE,SECURITY_INFORMATION,
37 PSID*,PSID*,PACL*,PACL*,PSECURITY_DESCRIPTOR*);
38 TRUSTEE_FORM WINAPI GetTrusteeFormA(PTRUSTEE_A);
39 TRUSTEE_FORM WINAPI GetTrusteeFormW(PTRUSTEE_W);
40 LPSTR WINAPI GetTrusteeNameA(PTRUSTEE_A);
41 LPWSTR WINAPI GetTrusteeNameW(PTRUSTEE_W);
42 TRUSTEE_TYPE WINAPI GetTrusteeTypeA(PTRUSTEE_A);
43 TRUSTEE_TYPE WINAPI GetTrusteeTypeW(PTRUSTEE_W);
44 DWORD WINAPI LookupSecurityDescriptorPartsA(PTRUSTEE_A*,PTRUSTEE_A*,PULONG,PEXPLICIT_ACCESS_A*,
45 PULONG,PEXPLICIT_ACCESS_A*,PSECURITY_DESCRIPTOR);
46 DWORD WINAPI LookupSecurityDescriptorPartsW(PTRUSTEE_W*,PTRUSTEE_W*,PULONG,PEXPLICIT_ACCESS_W*,
47 PULONG,PEXPLICIT_ACCESS_W*,PSECURITY_DESCRIPTOR);
48 DWORD WINAPI SetEntriesInAclA(ULONG,PEXPLICIT_ACCESS_A,PACL,PACL*);
49 DWORD WINAPI SetEntriesInAclW(ULONG,PEXPLICIT_ACCESS_W,PACL,PACL*);
50 DWORD WINAPI SetNamedSecurityInfoA(LPSTR,SE_OBJECT_TYPE,SECURITY_INFORMATION,PSID,PSID,PACL,PACL);
51 DWORD WINAPI SetNamedSecurityInfoW(LPWSTR,SE_OBJECT_TYPE,SECURITY_INFORMATION,PSID,PSID,PACL,PACL);
52 DWORD WINAPI SetSecurityInfo(HANDLE,SE_OBJECT_TYPE,SECURITY_INFORMATION,PSID,PSID,PACL,PACL);
54 /* These are deprecated by MS and not documented in Aug 2001 PSDK
55 BuildImpersonateExplicitAccessWithName[AW]
56 BuildImpersonateTrustee[AW]
57 GetMultipleTrustee[AW]
58 GetMultipleTrusteeOperation[AW]
61 #ifdef UNICODE
62 #define BuildExplicitAccessWithName BuildExplicitAccessWithNameW
63 #define BuildSecurityDescriptor BuildSecurityDescriptorW
64 #define BuildTrusteeWithName BuildTrusteeWithNameW
65 #define BuildTrusteeWithObjectsAndName BuildTrusteeWithObjectsAndNameW
66 #define BuildTrusteeWithObjectsAndSid BuildTrusteeWithObjectsAndSidW
67 #define BuildTrusteeWithSid BuildTrusteeWithSidW
68 #define GetAuditedPermissionsFromAcl GetAuditedPermissionsFromAclW
69 #define GetEffectiveRightsFromAcl GetEffectiveRightsFromAclW
70 #define GetExplicitEntriesFromAcl GetExplicitEntriesFromAclW
71 #define GetNamedSecurityInfo GetNamedSecurityInfoW
72 #define GetTrusteeForm GetTrusteeFormW
73 #define GetTrusteeName GetTrusteeNameW
74 #define GetTrusteeType GetTrusteeTypeW
75 #define LookupSecurityDescriptorParts LookupSecurityDescriptorPartsW
76 #define SetEntriesInAcl SetEntriesInAclW
77 #define SetNamedSecurityInfo SetNamedSecurityInfoW
78 #else
79 #define BuildExplicitAccessWithName BuildExplicitAccessWithNameA
80 #define BuildSecurityDescriptor BuildSecurityDescriptorA
81 #define BuildTrusteeWithName BuildTrusteeWithNameA
82 #define BuildTrusteeWithObjectsAndName BuildTrusteeWithObjectsAndNameA
83 #define BuildTrusteeWithObjectsAndSid BuildTrusteeWithObjectsAndSidA
84 #define BuildTrusteeWithSid BuildTrusteeWithSidA
85 #define GetAuditedPermissionsFromAcl GetAuditedPermissionsFromAclA
86 #define GetEffectiveRightsFromAcl GetEffectiveRightsFromAclA
87 #define GetExplicitEntriesFromAcl GetExplicitEntriesFromAclA
88 #define GetNamedSecurityInfo GetNamedSecurityInfoA
89 #define GetTrusteeForm GetTrusteeFormA
90 #define GetTrusteeName GetTrusteeNameA
91 #define GetTrusteeType GetTrusteeTypeA
92 #define LookupSecurityDescriptorParts LookupSecurityDescriptorPartsA
93 #define SetEntriesInAcl SetEntriesInAclA
94 #define SetNamedSecurityInfo SetNamedSecurityInfoA
95 #endif /* UNICODE */
97 #ifdef __cplusplus
99 #endif
100 #endif