2 * Copyright (C) 2004 Mike McCormack
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
19 #ifndef __WINE_ACLAPI_H
20 #define __WINE_ACLAPI_H
31 typedef void (*FN_PROGRESS
)(LPWSTR
,DWORD
,PPROG_INVOKE_SETTING
,PVOID
,BOOL
);
33 WINADVAPI DWORD WINAPI
GetExplicitEntriesFromAclA( PACL
, PULONG
, PEXPLICIT_ACCESS_A
* );
34 WINADVAPI DWORD WINAPI
GetExplicitEntriesFromAclW( PACL
, PULONG
, PEXPLICIT_ACCESS_W
* );
35 #define GetExplicitEntriesFromAcl WINELIB_NAME_AW(GetExplicitEntriesFromAcl)
36 WINADVAPI DWORD WINAPI
GetSecurityInfo( HANDLE
, SE_OBJECT_TYPE
, SECURITY_INFORMATION
, PSID
*, PSID
*, PACL
*, PACL
*, PSECURITY_DESCRIPTOR
*);
37 WINADVAPI DWORD WINAPI
GetSecurityInfoExA(HANDLE
, SE_OBJECT_TYPE
, SECURITY_INFORMATION
, LPCSTR
, LPCSTR
, PACTRL_ACCESSA
*, PACTRL_AUDITA
*, LPSTR
*, LPSTR
*);
38 WINADVAPI DWORD WINAPI
GetSecurityInfoExW(HANDLE
, SE_OBJECT_TYPE
, SECURITY_INFORMATION
, LPCWSTR
, LPCWSTR
, PACTRL_ACCESSW
*, PACTRL_AUDITW
*, LPWSTR
*, LPWSTR
*);
39 #define GetSecurityInfoEx WINELIB_NAME_AW(GetSecurityInfoEx)
40 WINADVAPI DWORD WINAPI
GetNamedSecurityInfoA(LPSTR
, SE_OBJECT_TYPE
, SECURITY_INFORMATION
, PSID
*, PSID
*, PACL
*, PACL
*, PSECURITY_DESCRIPTOR
*);
41 WINADVAPI DWORD WINAPI
GetNamedSecurityInfoW(LPWSTR
, SE_OBJECT_TYPE
, SECURITY_INFORMATION
, PSID
*, PSID
*, PACL
*, PACL
*, PSECURITY_DESCRIPTOR
*);
42 #define GetNamedSecurityInfo WINELIB_NAME_AW(GetNamedSecurityInfo)
43 WINADVAPI DWORD WINAPI
SetNamedSecurityInfoA(LPSTR
, SE_OBJECT_TYPE
, SECURITY_INFORMATION
, PSID
, PSID
, PACL
, PACL
);
44 WINADVAPI DWORD WINAPI
SetNamedSecurityInfoW(LPWSTR
, SE_OBJECT_TYPE
, SECURITY_INFORMATION
, PSID
, PSID
, PACL
, PACL
);
45 #define SetNamedSecurityInfo WINELIB_NAME_AW(SetNamedSecurityInfo)
46 WINADVAPI DWORD WINAPI
SetEntriesInAclA( ULONG
, PEXPLICIT_ACCESSA
, PACL
, PACL
*);
47 WINADVAPI DWORD WINAPI
SetEntriesInAclW( ULONG
, PEXPLICIT_ACCESSW
, PACL
, PACL
*);
48 #define SetEntriesInAcl WINELIB_NAME_AW(SetEntriesInAcl)
49 WINADVAPI DWORD WINAPI
SetSecurityInfo(HANDLE
, SE_OBJECT_TYPE
, SECURITY_INFORMATION
, PSID
, PSID
, PACL
, PACL
);
50 WINADVAPI TRUSTEE_FORM WINAPI
GetTrusteeFormA( PTRUSTEEA
);
51 WINADVAPI TRUSTEE_FORM WINAPI
GetTrusteeFormW( PTRUSTEEW
);
52 #define GetTrusteeForm WINELIB_NAME_AW(GetTrusteeForm)
53 WINADVAPI LPSTR WINAPI
GetTrusteeNameA( PTRUSTEEA
);
54 WINADVAPI LPWSTR WINAPI
GetTrusteeNameW( PTRUSTEEW
);
55 #define GetTrusteeName WINELIB_NAME_AW(GetTrusteeName)
56 WINADVAPI TRUSTEE_TYPE WINAPI
GetTrusteeTypeA( PTRUSTEEA
);
57 WINADVAPI TRUSTEE_TYPE WINAPI
GetTrusteeTypeW( PTRUSTEEW
);
58 #define GetTrusteeType WINELIB_NAME_AW(GetTrusteeType)
59 WINADVAPI DWORD WINAPI
BuildSecurityDescriptorA( PTRUSTEEA
, PTRUSTEEA
, ULONG
, PEXPLICIT_ACCESS_A
, ULONG
, PEXPLICIT_ACCESS_A
, PSECURITY_DESCRIPTOR
, PULONG
, PSECURITY_DESCRIPTOR
* );
60 WINADVAPI DWORD WINAPI
BuildSecurityDescriptorW( PTRUSTEEW
, PTRUSTEEW
, ULONG
, PEXPLICIT_ACCESS_W
, ULONG
, PEXPLICIT_ACCESS_W
, PSECURITY_DESCRIPTOR
, PULONG
, PSECURITY_DESCRIPTOR
* );
61 #define BuildSecurityDescriptor WINELIB_NAME_AW(BuildSecurityDescriptor)
62 WINADVAPI
void WINAPI
BuildTrusteeWithNameA( PTRUSTEEA
, LPSTR
);
63 WINADVAPI
void WINAPI
BuildTrusteeWithNameW( PTRUSTEEW
, LPWSTR
);
64 #define BuildTrusteeWithName WINELIB_NAME_AW(BuildTrusteeWithName)
65 WINADVAPI
void WINAPI
BuildTrusteeWithObjectsAndNameA(PTRUSTEEA
, POBJECTS_AND_NAME_A
, SE_OBJECT_TYPE
, LPSTR
, LPSTR
, LPSTR
);
66 WINADVAPI
void WINAPI
BuildTrusteeWithObjectsAndNameW(PTRUSTEEW
, POBJECTS_AND_NAME_W
, SE_OBJECT_TYPE
, LPWSTR
, LPWSTR
, LPWSTR
);
67 #define BuildTrusteeWithObjectsAndName WINELIB_NAME_AW(BuildTrusteeWithObjectsAndName)
68 WINADVAPI
void WINAPI
BuildTrusteeWithObjectsAndSidA(PTRUSTEEA
, POBJECTS_AND_SID
, GUID
*, GUID
*, PSID
);
69 WINADVAPI
void WINAPI
BuildTrusteeWithObjectsAndSidW(PTRUSTEEW
, POBJECTS_AND_SID
, GUID
*, GUID
*, PSID
);
70 #define BuildTrusteeWithObjectsAndSid WINELIB_NAME_AW(BuildTrusteeWithObjectsAndSid)
71 WINADVAPI
void WINAPI
BuildExplicitAccessWithNameA(PEXPLICIT_ACCESSA
, LPSTR
, DWORD
, ACCESS_MODE
, DWORD
);
72 WINADVAPI
void WINAPI
BuildExplicitAccessWithNameW(PEXPLICIT_ACCESSW
, LPWSTR
, DWORD
, ACCESS_MODE
, DWORD
);
73 #define BuildExplicitAccessWithName WINELIB_NAME_AW(BuildExplicitAccessWithName)
74 WINADVAPI
void WINAPI
BuildTrusteeWithSidA(PTRUSTEEA pTrustee
, PSID pSid
);
75 WINADVAPI
void WINAPI
BuildTrusteeWithSidW(PTRUSTEEW pTrustee
, PSID pSid
);
76 #define BuildTrusteeWithSid WINELIB_NAME_AW(BuildTrusteeWithSid)
77 WINADVAPI DWORD WINAPI
GetEffectiveRightsFromAclA(PACL
,PTRUSTEE_A
,PACCESS_MASK
);
78 WINADVAPI DWORD WINAPI
GetEffectiveRightsFromAclW(PACL
,PTRUSTEE_W
,PACCESS_MASK
);
79 #define GetEffectiveRightsFromAcl WINELIB_NAME_AW(GetEffectiveRightsFromAcl)
85 #endif /* __WINE_ACLAPI_H */