1 /**
2  * This file has no copyright assigned and is placed in the Public Domain.
3  * This file is part of the mingw-w64 runtime package.
4  * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5  */
6 #ifndef _MDBROLE_HXX_
7 #define _MDBROLE_HXX_
8 
9 #ifndef WINAPI
10 #if defined(_ARM_)
11 #define WINAPI
12 #else
13 #define WINAPI __stdcall
14 #endif
15 #endif
16 
17 #ifdef FASTCALL_IN_STORE
18 #define __FORCENONFASTCALL WINAPI
19 #else
20 #define __FORCENONFASTCALL
21 #endif
22 
23 #define ROLDLLEXP __declspec(dllimport)
24 
25 #if (defined(_X86_) && !defined(__x86_64))
26 #define ROLEAPI __fastcall
27 #else
28 #define ROLEAPI
29 #endif
30 
31 WINBOOL ROLDLLEXP ROLEAPI FRoleSid(PSID psid);
32 HRESULT ROLDLLEXP ROLEAPI HrParseRoleSid(PSID psid,long cbNameBuffer,char rgchName[],ULONG *pptagrole,BYTE *prolescope);
33 HRESULT ROLDLLEXP ROLEAPI HrConstructRoleSid(char *szRoleName,BYTE rolescope,ULONG ptagrole,PSID *ppsid);
34 void ROLDLLEXP ROLEAPI FreeRoleSid(PSID psid);
35 WINBOOL ROLDLLEXP ROLEAPI FCanonicalAcl(PACL pacl);
36 WINBOOL ROLDLLEXP ROLEAPI FCanonicalAcl(PSECURITY_DESCRIPTOR pntsd);
37 
38 #endif
39