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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 #ifndef __WINE_ACLAPI_H
20 #define __WINE_ACLAPI_H
31 DWORD WINAPI
GetExplicitEntriesFromAclA( PACL
, PULONG
, PEXPLICIT_ACCESS_A
* );
32 DWORD WINAPI
GetExplicitEntriesFromAclW( PACL
, PULONG
, PEXPLICIT_ACCESS_W
* );
33 #define GetExplicitEntriesFromAcl WINELIB_NAME_AW(GetExplicitEntriesFromAcl)
35 DWORD WINAPI
GetSecurityInfo( HANDLE
, SE_OBJECT_TYPE
, SECURITY_INFORMATION
,
36 PSID
*, PSID
*, PACL
*, PACL
*, PSECURITY_DESCRIPTOR
*);
38 DWORD WINAPI
GetNamedSecurityInfoA(LPSTR
, SE_OBJECT_TYPE
, SECURITY_INFORMATION
,
39 PSID
*, PSID
*, PACL
*, PACL
*, PSECURITY_DESCRIPTOR
*);
40 DWORD WINAPI
GetNamedSecurityInfoW(LPWSTR
, SE_OBJECT_TYPE
, SECURITY_INFORMATION
,
41 PSID
*, PSID
*, PACL
*, PACL
*, PSECURITY_DESCRIPTOR
*);
42 #define GetNamedSecurityInfo WINELIB_NAME_AW(GetNamedSecurityInfo)
44 DWORD WINAPI
SetNamedSecurityInfoA(LPSTR
, SE_OBJECT_TYPE
,
45 SECURITY_INFORMATION
, PSID
, PSID
, PACL
, PACL
);
46 DWORD WINAPI
SetNamedSecurityInfoW(LPWSTR
, SE_OBJECT_TYPE
,
47 SECURITY_INFORMATION
, PSID
, PSID
, PACL
, PACL
);
48 #define SetNamedSecurityInfo WINELIB_NAME_AW(SetNamedSecurityInfo)
50 DWORD WINAPI
SetEntriesInAclA( ULONG
, PEXPLICIT_ACCESSA
, PACL
, PACL
*);
51 DWORD WINAPI
SetEntriesInAclW( ULONG
, PEXPLICIT_ACCESSW
, PACL
, PACL
*);
52 #define SetEntriesInAcl WINELIB_NAME_AW(SetEntriesInAcl)
54 DWORD WINAPI
SetSecurityInfo(HANDLE
, SE_OBJECT_TYPE
, SECURITY_INFORMATION
,
55 PSID
, PSID
, PACL
, PACL
);
57 TRUSTEE_FORM WINAPI
GetTrusteeFormA( PTRUSTEEA
);
58 TRUSTEE_FORM WINAPI
GetTrusteeFormW( PTRUSTEEW
);
59 #define GetTrusteeForm WINELIB_NAME_AW(GetTrusteeForm)
61 LPSTR WINAPI
GetTrusteeNameA( PTRUSTEEA
);
62 LPWSTR WINAPI
GetTrusteeNameW( PTRUSTEEW
);
63 #define GetTrusteeName WINELIB_NAME_AW(GetTrusteeName)
65 TRUSTEE_TYPE WINAPI
GetTrusteeTypeA( PTRUSTEEA
);
66 TRUSTEE_TYPE WINAPI
GetTrusteeTypeW( PTRUSTEEW
);
67 #define GetTrusteeType WINELIB_NAME_AW(GetTrusteeType)
69 void WINAPI
BuildTrusteeWithNameA( PTRUSTEEA
, LPSTR
);
70 void WINAPI
BuildTrusteeWithNameW( PTRUSTEEW
, LPWSTR
);
71 #define BuildTrusteeWithName WINELIB_NAME_AW(BuildTrusteeWithName)
73 VOID WINAPI
BuildTrusteeWithObjectsAndNameA(PTRUSTEEA
, POBJECTS_AND_NAME_A
,
74 SE_OBJECT_TYPE
, LPSTR
, LPSTR
, LPSTR
);
75 VOID WINAPI
BuildTrusteeWithObjectsAndNameW(PTRUSTEEW
, POBJECTS_AND_NAME_W
,
76 SE_OBJECT_TYPE
, LPWSTR
, LPWSTR
, LPWSTR
);
77 #define BuildTrusteeWithObjectsAndName WINELIB_NAME_AW(BuildTrusteeWithObjectsAndName)
79 VOID WINAPI
BuildTrusteeWithObjectsAndSidA(PTRUSTEEA
, POBJECTS_AND_SID
, GUID
*, GUID
*, PSID
);
80 VOID WINAPI
BuildTrusteeWithObjectsAndSidW(PTRUSTEEW
, POBJECTS_AND_SID
, GUID
*, GUID
*, PSID
);
81 #define BuildTrusteeWithObjectsAndSid WINELIB_NAME_AW(BuildTrusteeWithObjectsAndSid)
83 VOID WINAPI
BuildExplicitAccessWithNameA(PEXPLICIT_ACCESSA
, LPSTR
, DWORD
, ACCESS_MODE
, DWORD
);
84 VOID WINAPI
BuildExplicitAccessWithNameW(PEXPLICIT_ACCESSW
, LPWSTR
, DWORD
, ACCESS_MODE
, DWORD
);
85 #define BuildExplicitAccessWithName WINELIB_NAME_AW(BuildExplicitAccessWithName)
87 VOID WINAPI
BuildTrusteeWithSidA(PTRUSTEEA pTrustee
, PSID pSid
);
88 VOID WINAPI
BuildTrusteeWithSidW(PTRUSTEEW pTrustee
, PSID pSid
);
89 #define BuildTrusteeWithSid WINELIB_NAME_AW(BuildTrusteeWithSid)
91 DWORD WINAPI
GetEffectiveRightsFromAclA(PACL
,PTRUSTEE_A
,PACCESS_MASK
);
92 DWORD WINAPI
GetEffectiveRightsFromAclW(PACL
,PTRUSTEE_W
,PACCESS_MASK
);
93 #define GetEffectiveRightsFromAcl WINELIB_NAME_AW(GetEffectiveRightsFromAcl)
99 #endif /* __WINE_ACLAPI_H */