mingw-5.1.4/win32/include/aclapi.h
changeset 0 76b1f169d9fe
equal deleted inserted replaced
-1:000000000000 0:76b1f169d9fe
       
     1 #ifndef _ACLAPI_H
       
     2 #define _ACLAPI_H
       
     3 #if __GNUC__ >= 3
       
     4 #pragma GCC system_header
       
     5 #endif
       
     6 
       
     7 #include <windows.h>
       
     8 #include <accctrl.h>
       
     9 
       
    10 #ifdef __cplusplus
       
    11 extern "C" {
       
    12 #endif
       
    13 
       
    14 WINADVAPI VOID WINAPI BuildExplicitAccessWithNameA(PEXPLICIT_ACCESS_A,LPSTR,DWORD,ACCESS_MODE,DWORD);
       
    15 WINADVAPI VOID WINAPI BuildExplicitAccessWithNameW(PEXPLICIT_ACCESS_W,LPWSTR,DWORD,ACCESS_MODE,DWORD);
       
    16 WINADVAPI DWORD WINAPI BuildSecurityDescriptorA(PTRUSTEE_A,PTRUSTEE_A ,ULONG,PEXPLICIT_ACCESS_A,
       
    17   ULONG,PEXPLICIT_ACCESS_A,PSECURITY_DESCRIPTOR,PULONG,PSECURITY_DESCRIPTOR*);
       
    18 WINADVAPI DWORD WINAPI BuildSecurityDescriptorW(PTRUSTEE_W,PTRUSTEE_W ,ULONG,PEXPLICIT_ACCESS_W,
       
    19   ULONG,PEXPLICIT_ACCESS_W,PSECURITY_DESCRIPTOR,PULONG,PSECURITY_DESCRIPTOR*);
       
    20 WINADVAPI VOID WINAPI BuildTrusteeWithNameA(PTRUSTEE_A,LPSTR);
       
    21 WINADVAPI VOID WINAPI BuildTrusteeWithNameW(PTRUSTEE_W,LPWSTR);
       
    22 WINADVAPI VOID WINAPI BuildTrusteeWithObjectsAndNameA(PTRUSTEE_A,POBJECTS_AND_NAME_A,SE_OBJECT_TYPE,
       
    23   LPSTR,LPSTR,LPSTR);
       
    24 WINADVAPI VOID WINAPI BuildTrusteeWithObjectsAndNameW(PTRUSTEE_W,POBJECTS_AND_NAME_W,SE_OBJECT_TYPE,
       
    25   LPWSTR,LPWSTR,LPWSTR);
       
    26 WINADVAPI VOID WINAPI BuildTrusteeWithObjectsAndSidA(PTRUSTEE_A,POBJECTS_AND_SID,GUID*,GUID*,PSID);
       
    27 WINADVAPI VOID WINAPI BuildTrusteeWithObjectsAndSidW(PTRUSTEE_W,POBJECTS_AND_SID,GUID*,GUID*,PSID);
       
    28 WINADVAPI VOID WINAPI BuildTrusteeWithSidA(PTRUSTEE_A,PSID);
       
    29 WINADVAPI VOID WINAPI BuildTrusteeWithSidW(PTRUSTEE_W,PSID);
       
    30 WINADVAPI DWORD WINAPI GetAuditedPermissionsFromAclA(PACL,PTRUSTEE_A,PACCESS_MASK,PACCESS_MASK);
       
    31 WINADVAPI DWORD WINAPI GetAuditedPermissionsFromAclW(PACL,PTRUSTEE_W,PACCESS_MASK,PACCESS_MASK);
       
    32 WINADVAPI DWORD WINAPI GetEffectiveRightsFromAclA(PACL,PTRUSTEE_A,PACCESS_MASK);
       
    33 WINADVAPI DWORD WINAPI GetEffectiveRightsFromAclW(PACL,PTRUSTEE_W,PACCESS_MASK);
       
    34 WINADVAPI DWORD WINAPI GetExplicitEntriesFromAclA(PACL,PULONG,PEXPLICIT_ACCESS_A*);
       
    35 WINADVAPI DWORD WINAPI GetExplicitEntriesFromAclW(PACL,PULONG,PEXPLICIT_ACCESS_W*);
       
    36 #if (_WIN32_WINNT >= 0x0501)
       
    37 WINADVAPI DWORD WINAPI GetInheritanceSourceA(LPSTR,SE_OBJECT_TYPE,SECURITY_INFORMATION,BOOL,GUID**,DWORD,PACL,void*,PGENERIC_MAPPING,PINHERITED_FROMA);
       
    38 WINADVAPI DWORD WINAPI GetInheritanceSourceW(LPWSTR,SE_OBJECT_TYPE,SECURITY_INFORMATION,BOOL,GUID**,DWORD,PACL,void*,PGENERIC_MAPPING,PINHERITED_FROMW);
       
    39 #endif
       
    40 WINADVAPI DWORD WINAPI GetNamedSecurityInfoA(LPSTR,SE_OBJECT_TYPE,SECURITY_INFORMATION,
       
    41   PSID*,PSID*,PACL*,PACL*,PSECURITY_DESCRIPTOR*);
       
    42 WINADVAPI DWORD WINAPI GetNamedSecurityInfoW(LPWSTR,SE_OBJECT_TYPE,SECURITY_INFORMATION,
       
    43   PSID*,PSID*,PACL*,PACL*,PSECURITY_DESCRIPTOR*);
       
    44 WINADVAPI DWORD WINAPI GetSecurityInfo(HANDLE,SE_OBJECT_TYPE,SECURITY_INFORMATION,
       
    45   PSID*,PSID*,PACL*,PACL*,PSECURITY_DESCRIPTOR*);
       
    46 WINADVAPI TRUSTEE_FORM WINAPI GetTrusteeFormA(PTRUSTEE_A);
       
    47 WINADVAPI TRUSTEE_FORM WINAPI GetTrusteeFormW(PTRUSTEE_W);
       
    48 WINADVAPI LPSTR WINAPI GetTrusteeNameA(PTRUSTEE_A);
       
    49 WINADVAPI LPWSTR WINAPI GetTrusteeNameW(PTRUSTEE_W);
       
    50 WINADVAPI TRUSTEE_TYPE WINAPI GetTrusteeTypeA(PTRUSTEE_A);
       
    51 WINADVAPI TRUSTEE_TYPE WINAPI GetTrusteeTypeW(PTRUSTEE_W);
       
    52 WINADVAPI DWORD WINAPI LookupSecurityDescriptorPartsA(PTRUSTEE_A*,PTRUSTEE_A*,PULONG,PEXPLICIT_ACCESS_A*,
       
    53   PULONG,PEXPLICIT_ACCESS_A*,PSECURITY_DESCRIPTOR);
       
    54 WINADVAPI DWORD WINAPI LookupSecurityDescriptorPartsW(PTRUSTEE_W*,PTRUSTEE_W*,PULONG,PEXPLICIT_ACCESS_W*,
       
    55   PULONG,PEXPLICIT_ACCESS_W*,PSECURITY_DESCRIPTOR);
       
    56 WINADVAPI DWORD WINAPI SetEntriesInAclA(ULONG,PEXPLICIT_ACCESS_A,PACL,PACL*);
       
    57 WINADVAPI DWORD WINAPI SetEntriesInAclW(ULONG,PEXPLICIT_ACCESS_W,PACL,PACL*);
       
    58 WINADVAPI DWORD WINAPI SetNamedSecurityInfoA(LPSTR,SE_OBJECT_TYPE,SECURITY_INFORMATION,PSID,PSID,PACL,PACL);
       
    59 WINADVAPI DWORD WINAPI SetNamedSecurityInfoW(LPWSTR,SE_OBJECT_TYPE,SECURITY_INFORMATION,PSID,PSID,PACL,PACL);
       
    60 WINADVAPI DWORD WINAPI SetSecurityInfo(HANDLE,SE_OBJECT_TYPE,SECURITY_INFORMATION,PSID,PSID,PACL,PACL);
       
    61 WINADVAPI VOID WINAPI BuildImpersonateExplicitAccessWithNameA(PEXPLICIT_ACCESS_A,LPSTR,PTRUSTEE_A,DWORD,ACCESS_MODE,DWORD);
       
    62 WINADVAPI VOID WINAPI BuildImpersonateExplicitAccessWithNameW(PEXPLICIT_ACCESS_W,LPWSTR,PTRUSTEE_W,DWORD,ACCESS_MODE,DWORD);
       
    63 WINADVAPI VOID WINAPI BuildImpersonateTrusteeA(PTRUSTEE_A,PTRUSTEE_A);
       
    64 WINADVAPI VOID WINAPI BuildImpersonateTrusteeW(PTRUSTEE_W,PTRUSTEE_W);
       
    65 WINADVAPI PTRUSTEE_A WINAPI GetMultipleTrusteeA(PTRUSTEE_A);
       
    66 WINADVAPI PTRUSTEE_W WINAPI GetMultipleTrusteeW(PTRUSTEE_W);
       
    67 WINADVAPI MULTIPLE_TRUSTEE_OPERATION WINAPI GetMultipleTrusteeOperationA(PTRUSTEE_A);
       
    68 WINADVAPI MULTIPLE_TRUSTEE_OPERATION WINAPI GetMultipleTrusteeOperationW(PTRUSTEE_W);
       
    69 
       
    70 #ifdef UNICODE
       
    71 #define BuildExplicitAccessWithName  BuildExplicitAccessWithNameW
       
    72 #define BuildSecurityDescriptor  BuildSecurityDescriptorW
       
    73 #define BuildTrusteeWithName  BuildTrusteeWithNameW
       
    74 #define BuildTrusteeWithObjectsAndName  BuildTrusteeWithObjectsAndNameW
       
    75 #define BuildTrusteeWithObjectsAndSid  BuildTrusteeWithObjectsAndSidW
       
    76 #define BuildTrusteeWithSid  BuildTrusteeWithSidW
       
    77 #define GetAuditedPermissionsFromAcl  GetAuditedPermissionsFromAclW
       
    78 #define GetEffectiveRightsFromAcl  GetEffectiveRightsFromAclW
       
    79 #define GetExplicitEntriesFromAcl  GetExplicitEntriesFromAclW
       
    80 #define GetNamedSecurityInfo  GetNamedSecurityInfoW
       
    81 #define GetTrusteeForm  GetTrusteeFormW
       
    82 #define GetTrusteeName  GetTrusteeNameW
       
    83 #define GetTrusteeType  GetTrusteeTypeW
       
    84 #define LookupSecurityDescriptorParts  LookupSecurityDescriptorPartsW
       
    85 #define SetEntriesInAcl  SetEntriesInAclW
       
    86 #define SetNamedSecurityInfo  SetNamedSecurityInfoW
       
    87 #define BuildImpersonateExplicitAccessWithName  BuildImpersonateExplicitAccessWithNameW
       
    88 #define BuildImpersonateTrustee  BuildImpersonateTrusteeW
       
    89 #define GetMultipleTrustee  GetMultipleTrusteeW
       
    90 #define GetMultipleTrusteeOperation  GetMultipleTrusteeOperationW
       
    91 #else
       
    92 #define BuildExplicitAccessWithName  BuildExplicitAccessWithNameA
       
    93 #define BuildSecurityDescriptor  BuildSecurityDescriptorA
       
    94 #define BuildTrusteeWithName  BuildTrusteeWithNameA
       
    95 #define BuildTrusteeWithObjectsAndName  BuildTrusteeWithObjectsAndNameA
       
    96 #define BuildTrusteeWithObjectsAndSid  BuildTrusteeWithObjectsAndSidA
       
    97 #define BuildTrusteeWithSid  BuildTrusteeWithSidA
       
    98 #define GetAuditedPermissionsFromAcl  GetAuditedPermissionsFromAclA
       
    99 #define GetEffectiveRightsFromAcl  GetEffectiveRightsFromAclA
       
   100 #define GetExplicitEntriesFromAcl  GetExplicitEntriesFromAclA
       
   101 #define GetNamedSecurityInfo  GetNamedSecurityInfoA
       
   102 #define GetTrusteeForm  GetTrusteeFormA
       
   103 #define GetTrusteeName  GetTrusteeNameA
       
   104 #define GetTrusteeType  GetTrusteeTypeA
       
   105 #define LookupSecurityDescriptorParts  LookupSecurityDescriptorPartsA
       
   106 #define SetEntriesInAcl  SetEntriesInAclA
       
   107 #define SetNamedSecurityInfo  SetNamedSecurityInfoA
       
   108 #define BuildImpersonateExplicitAccessWithName  BuildImpersonateExplicitAccessWithNameA
       
   109 #define BuildImpersonateTrustee  BuildImpersonateTrusteeA
       
   110 #define GetMultipleTrustee  GetMultipleTrusteeA
       
   111 #define GetMultipleTrusteeOperation  GetMultipleTrusteeOperationA
       
   112 #endif /* UNICODE */
       
   113 
       
   114 #ifdef __cplusplus
       
   115 }
       
   116 #endif
       
   117 #endif