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