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
GetSecurityInfo( HANDLE
, SE_OBJECT_TYPE
, SECURITY_INFORMATION
,
32 PSID
*, PSID
*, PACL
*, PACL
*, PSECURITY_DESCRIPTOR
*);
34 DWORD WINAPI
GetNamedSecurityInfoA(LPSTR
, SE_OBJECT_TYPE
, SECURITY_INFORMATION
,
35 PSID
*, PSID
*, PACL
*, PACL
*, PSECURITY_DESCRIPTOR
*);
36 DWORD WINAPI
GetNamedSecurityInfoW(LPWSTR
, SE_OBJECT_TYPE
, SECURITY_INFORMATION
,
37 PSID
*, PSID
*, PACL
*, PACL
*, PSECURITY_DESCRIPTOR
*);
38 #define GetNamedSecurityInfo WINELIB_NAME_AW(GetNamedSecurityInfo)
40 DWORD WINAPI
SetNamedSecurityInfoA(LPSTR
, SE_OBJECT_TYPE
,
41 SECURITY_INFORMATION
, PSID
, PSID
, PACL
, PACL
);
42 DWORD WINAPI
SetNamedSecurityInfoW(LPWSTR
, SE_OBJECT_TYPE
,
43 SECURITY_INFORMATION
, PSID
, PSID
, PACL
, PACL
);
44 #define SetNamedSecurityInfo WINELIB_NAME_AW(SetNamedSecurityInfo)
46 DWORD WINAPI
SetEntriesInAclA( ULONG
, PEXPLICIT_ACCESSA
, PACL
, PACL
*);
47 DWORD WINAPI
SetEntriesInAclW( ULONG
, PEXPLICIT_ACCESSW
, PACL
, PACL
*);
48 #define SetEntriesInAcl WINELIB_NAME_AW(SetEntriesInAcl)
50 DWORD WINAPI
SetSecurityInfo(HANDLE
, SE_OBJECT_TYPE
, SECURITY_INFORMATION
,
51 PSID
, PSID
, PACL
, PACL
);
53 TRUSTEE_FORM WINAPI
GetTrusteeFormA( PTRUSTEEA
);
54 TRUSTEE_FORM WINAPI
GetTrusteeFormW( PTRUSTEEW
);
55 #define GetTrusteeForm WINELIB_NAME_AW(GetTrusteeForm)
57 LPSTR WINAPI
GetTrusteeNameA( PTRUSTEEA
);
58 LPWSTR WINAPI
GetTrusteeNameW( PTRUSTEEW
);
59 #define GetTrusteeName WINELIB_NAME_AW(GetTrusteeName)
61 TRUSTEE_TYPE WINAPI
GetTrusteeTypeA( PTRUSTEEA
);
62 TRUSTEE_TYPE WINAPI
GetTrusteeTypeW( PTRUSTEEW
);
63 #define GetTrusteeType WINELIB_NAME_AW(GetTrusteeType)
65 void WINAPI
BuildTrusteeWithNameA( PTRUSTEEA
, LPSTR
);
66 void WINAPI
BuildTrusteeWithNameW( PTRUSTEEW
, LPWSTR
);
67 #define BuildTrusteeWithName WINELIB_NAME_AW(BuildTrusteeWithName)
69 VOID WINAPI
BuildTrusteeWithObjectsAndNameA(PTRUSTEEA
, POBJECTS_AND_NAME_A
,
70 SE_OBJECT_TYPE
, LPSTR
, LPSTR
, LPSTR
);
71 VOID WINAPI
BuildTrusteeWithObjectsAndNameW(PTRUSTEEW
, POBJECTS_AND_NAME_W
,
72 SE_OBJECT_TYPE
, LPWSTR
, LPWSTR
, LPWSTR
);
73 #define BuildTrusteeWithObjectsAndName WINELIB_NAME_AW(BuildTrusteeWithObjectsAndName)
75 VOID WINAPI
BuildTrusteeWithObjectsAndSidA(PTRUSTEEA
, POBJECTS_AND_SID
, GUID
*, GUID
*, PSID
);
76 VOID WINAPI
BuildTrusteeWithObjectsAndSidW(PTRUSTEEW
, POBJECTS_AND_SID
, GUID
*, GUID
*, PSID
);
77 #define BuildTrusteeWithObjectsAndSid WINELIB_NAME_AW(BuildTrusteeWithObjectsAndSid)
79 VOID WINAPI
BuildExplicitAccessWithNameA(PEXPLICIT_ACCESSA
, LPSTR
, DWORD
, ACCESS_MODE
, DWORD
);
80 VOID WINAPI
BuildExplicitAccessWithNameW(PEXPLICIT_ACCESSW
, LPWSTR
, DWORD
, ACCESS_MODE
, DWORD
);
81 #define BuildExplicitAccessWithName WINELIB_NAME_AW(BuildExplicitAccessWithName)
83 VOID WINAPI
BuildTrusteeWithSidA(PTRUSTEEA pTrustee
, PSID pSid
);
84 VOID WINAPI
BuildTrusteeWithSidW(PTRUSTEEW pTrustee
, PSID pSid
);
85 #define BuildTrusteeWithSid WINELIB_NAME_AW(BuildTrusteeWithSid)
91 #endif /* __WINE_ACLAPI_H */