diff options
| author | 2023-12-12 11:41:26 -0500 | |
|---|---|---|
| committer | 2023-12-12 11:41:26 -0500 | |
| commit | ff489bd82ff313bcfd7dc2ab585ed31cec909ebd (patch) | |
| tree | 300e031693a5ddb990a32068ab0596382349aeea /tcc/include/winapi/aclapi.h | |
| parent | init (diff) | |
fix software to compile properly on Windows XP x86
Diffstat (limited to '')
| -rw-r--r-- | tcc/include/winapi/aclapi.h | 117 |
1 files changed, 117 insertions, 0 deletions
diff --git a/tcc/include/winapi/aclapi.h b/tcc/include/winapi/aclapi.h new file mode 100644 index 0000000..abd26a2 --- /dev/null +++ b/tcc/include/winapi/aclapi.h @@ -0,0 +1,117 @@ +#ifndef _ACLAPI_H +#define _ACLAPI_H +#if __GNUC__ >= 3 +#pragma GCC system_header +#endif + +#include <windows.h> +#include <accctrl.h> + +#ifdef __cplusplus +extern "C" { +#endif + +WINADVAPI VOID WINAPI BuildExplicitAccessWithNameA(PEXPLICIT_ACCESS_A,LPSTR,DWORD,ACCESS_MODE,DWORD); +WINADVAPI VOID WINAPI BuildExplicitAccessWithNameW(PEXPLICIT_ACCESS_W,LPWSTR,DWORD,ACCESS_MODE,DWORD); +WINADVAPI DWORD WINAPI BuildSecurityDescriptorA(PTRUSTEE_A,PTRUSTEE_A ,ULONG,PEXPLICIT_ACCESS_A, + ULONG,PEXPLICIT_ACCESS_A,PSECURITY_DESCRIPTOR,PULONG,PSECURITY_DESCRIPTOR*); +WINADVAPI DWORD WINAPI BuildSecurityDescriptorW(PTRUSTEE_W,PTRUSTEE_W ,ULONG,PEXPLICIT_ACCESS_W, + ULONG,PEXPLICIT_ACCESS_W,PSECURITY_DESCRIPTOR,PULONG,PSECURITY_DESCRIPTOR*); +WINADVAPI VOID WINAPI BuildTrusteeWithNameA(PTRUSTEE_A,LPSTR); +WINADVAPI VOID WINAPI BuildTrusteeWithNameW(PTRUSTEE_W,LPWSTR); +WINADVAPI VOID WINAPI BuildTrusteeWithObjectsAndNameA(PTRUSTEE_A,POBJECTS_AND_NAME_A,SE_OBJECT_TYPE, + LPSTR,LPSTR,LPSTR); +WINADVAPI VOID WINAPI BuildTrusteeWithObjectsAndNameW(PTRUSTEE_W,POBJECTS_AND_NAME_W,SE_OBJECT_TYPE, + LPWSTR,LPWSTR,LPWSTR); +WINADVAPI VOID WINAPI BuildTrusteeWithObjectsAndSidA(PTRUSTEE_A,POBJECTS_AND_SID,GUID*,GUID*,PSID); +WINADVAPI VOID WINAPI BuildTrusteeWithObjectsAndSidW(PTRUSTEE_W,POBJECTS_AND_SID,GUID*,GUID*,PSID); +WINADVAPI VOID WINAPI BuildTrusteeWithSidA(PTRUSTEE_A,PSID); +WINADVAPI VOID WINAPI BuildTrusteeWithSidW(PTRUSTEE_W,PSID); +WINADVAPI DWORD WINAPI GetAuditedPermissionsFromAclA(PACL,PTRUSTEE_A,PACCESS_MASK,PACCESS_MASK); +WINADVAPI DWORD WINAPI GetAuditedPermissionsFromAclW(PACL,PTRUSTEE_W,PACCESS_MASK,PACCESS_MASK); +WINADVAPI DWORD WINAPI GetEffectiveRightsFromAclA(PACL,PTRUSTEE_A,PACCESS_MASK); +WINADVAPI DWORD WINAPI GetEffectiveRightsFromAclW(PACL,PTRUSTEE_W,PACCESS_MASK); +WINADVAPI DWORD WINAPI GetExplicitEntriesFromAclA(PACL,PULONG,PEXPLICIT_ACCESS_A*); +WINADVAPI DWORD WINAPI GetExplicitEntriesFromAclW(PACL,PULONG,PEXPLICIT_ACCESS_W*); +#if (_WIN32_WINNT >= 0x0501) +WINADVAPI DWORD WINAPI GetInheritanceSourceA(LPSTR,SE_OBJECT_TYPE,SECURITY_INFORMATION,BOOL,GUID**,DWORD,PACL,void*,PGENERIC_MAPPING,PINHERITED_FROMA); +WINADVAPI DWORD WINAPI GetInheritanceSourceW(LPWSTR,SE_OBJECT_TYPE,SECURITY_INFORMATION,BOOL,GUID**,DWORD,PACL,void*,PGENERIC_MAPPING,PINHERITED_FROMW); +#endif +WINADVAPI DWORD WINAPI GetNamedSecurityInfoA(LPSTR,SE_OBJECT_TYPE,SECURITY_INFORMATION, + PSID*,PSID*,PACL*,PACL*,PSECURITY_DESCRIPTOR*); +WINADVAPI DWORD WINAPI GetNamedSecurityInfoW(LPWSTR,SE_OBJECT_TYPE,SECURITY_INFORMATION, + PSID*,PSID*,PACL*,PACL*,PSECURITY_DESCRIPTOR*); +WINADVAPI DWORD WINAPI GetSecurityInfo(HANDLE,SE_OBJECT_TYPE,SECURITY_INFORMATION, + PSID*,PSID*,PACL*,PACL*,PSECURITY_DESCRIPTOR*); +WINADVAPI TRUSTEE_FORM WINAPI GetTrusteeFormA(PTRUSTEE_A); +WINADVAPI TRUSTEE_FORM WINAPI GetTrusteeFormW(PTRUSTEE_W); +WINADVAPI LPSTR WINAPI GetTrusteeNameA(PTRUSTEE_A); +WINADVAPI LPWSTR WINAPI GetTrusteeNameW(PTRUSTEE_W); +WINADVAPI TRUSTEE_TYPE WINAPI GetTrusteeTypeA(PTRUSTEE_A); +WINADVAPI TRUSTEE_TYPE WINAPI GetTrusteeTypeW(PTRUSTEE_W); +WINADVAPI DWORD WINAPI LookupSecurityDescriptorPartsA(PTRUSTEE_A*,PTRUSTEE_A*,PULONG,PEXPLICIT_ACCESS_A*, + PULONG,PEXPLICIT_ACCESS_A*,PSECURITY_DESCRIPTOR); +WINADVAPI DWORD WINAPI LookupSecurityDescriptorPartsW(PTRUSTEE_W*,PTRUSTEE_W*,PULONG,PEXPLICIT_ACCESS_W*, + PULONG,PEXPLICIT_ACCESS_W*,PSECURITY_DESCRIPTOR); +WINADVAPI DWORD WINAPI SetEntriesInAclA(ULONG,PEXPLICIT_ACCESS_A,PACL,PACL*); +WINADVAPI DWORD WINAPI SetEntriesInAclW(ULONG,PEXPLICIT_ACCESS_W,PACL,PACL*); +WINADVAPI DWORD WINAPI SetNamedSecurityInfoA(LPSTR,SE_OBJECT_TYPE,SECURITY_INFORMATION,PSID,PSID,PACL,PACL); +WINADVAPI DWORD WINAPI SetNamedSecurityInfoW(LPWSTR,SE_OBJECT_TYPE,SECURITY_INFORMATION,PSID,PSID,PACL,PACL); +WINADVAPI DWORD WINAPI SetSecurityInfo(HANDLE,SE_OBJECT_TYPE,SECURITY_INFORMATION,PSID,PSID,PACL,PACL); +WINADVAPI VOID WINAPI BuildImpersonateExplicitAccessWithNameA(PEXPLICIT_ACCESS_A,LPSTR,PTRUSTEE_A,DWORD,ACCESS_MODE,DWORD); +WINADVAPI VOID WINAPI BuildImpersonateExplicitAccessWithNameW(PEXPLICIT_ACCESS_W,LPWSTR,PTRUSTEE_W,DWORD,ACCESS_MODE,DWORD); +WINADVAPI VOID WINAPI BuildImpersonateTrusteeA(PTRUSTEE_A,PTRUSTEE_A); +WINADVAPI VOID WINAPI BuildImpersonateTrusteeW(PTRUSTEE_W,PTRUSTEE_W); +WINADVAPI PTRUSTEE_A WINAPI GetMultipleTrusteeA(PTRUSTEE_A); +WINADVAPI PTRUSTEE_W WINAPI GetMultipleTrusteeW(PTRUSTEE_W); +WINADVAPI MULTIPLE_TRUSTEE_OPERATION WINAPI GetMultipleTrusteeOperationA(PTRUSTEE_A); +WINADVAPI MULTIPLE_TRUSTEE_OPERATION WINAPI GetMultipleTrusteeOperationW(PTRUSTEE_W); + +#ifdef UNICODE +#define BuildExplicitAccessWithName BuildExplicitAccessWithNameW +#define BuildSecurityDescriptor BuildSecurityDescriptorW +#define BuildTrusteeWithName BuildTrusteeWithNameW +#define BuildTrusteeWithObjectsAndName BuildTrusteeWithObjectsAndNameW +#define BuildTrusteeWithObjectsAndSid BuildTrusteeWithObjectsAndSidW +#define BuildTrusteeWithSid BuildTrusteeWithSidW +#define GetAuditedPermissionsFromAcl GetAuditedPermissionsFromAclW +#define GetEffectiveRightsFromAcl GetEffectiveRightsFromAclW +#define GetExplicitEntriesFromAcl GetExplicitEntriesFromAclW +#define GetNamedSecurityInfo GetNamedSecurityInfoW +#define GetTrusteeForm GetTrusteeFormW +#define GetTrusteeName GetTrusteeNameW +#define GetTrusteeType GetTrusteeTypeW +#define LookupSecurityDescriptorParts LookupSecurityDescriptorPartsW +#define SetEntriesInAcl SetEntriesInAclW +#define SetNamedSecurityInfo SetNamedSecurityInfoW +#define BuildImpersonateExplicitAccessWithName BuildImpersonateExplicitAccessWithNameW +#define BuildImpersonateTrustee BuildImpersonateTrusteeW +#define GetMultipleTrustee GetMultipleTrusteeW +#define GetMultipleTrusteeOperation GetMultipleTrusteeOperationW +#else +#define BuildExplicitAccessWithName BuildExplicitAccessWithNameA +#define BuildSecurityDescriptor BuildSecurityDescriptorA +#define BuildTrusteeWithName BuildTrusteeWithNameA +#define BuildTrusteeWithObjectsAndName BuildTrusteeWithObjectsAndNameA +#define BuildTrusteeWithObjectsAndSid BuildTrusteeWithObjectsAndSidA +#define BuildTrusteeWithSid BuildTrusteeWithSidA +#define GetAuditedPermissionsFromAcl GetAuditedPermissionsFromAclA +#define GetEffectiveRightsFromAcl GetEffectiveRightsFromAclA +#define GetExplicitEntriesFromAcl GetExplicitEntriesFromAclA +#define GetNamedSecurityInfo GetNamedSecurityInfoA +#define GetTrusteeForm GetTrusteeFormA +#define GetTrusteeName GetTrusteeNameA +#define GetTrusteeType GetTrusteeTypeA +#define LookupSecurityDescriptorParts LookupSecurityDescriptorPartsA +#define SetEntriesInAcl SetEntriesInAclA +#define SetNamedSecurityInfo SetNamedSecurityInfoA +#define BuildImpersonateExplicitAccessWithName BuildImpersonateExplicitAccessWithNameA +#define BuildImpersonateTrustee BuildImpersonateTrusteeA +#define GetMultipleTrustee GetMultipleTrusteeA +#define GetMultipleTrusteeOperation GetMultipleTrusteeOperationA +#endif /* UNICODE */ + +#ifdef __cplusplus +} +#endif +#endif |
