home *** CD-ROM | disk | FTP | other *** search
/ H4CK3R 14 / hacker14.iso / programacao / cwin / c.exe / $INSTDIR / include / aclapi.h < prev    next >
Encoding:
C/C++ Source or Header  |  2003-12-15  |  5.1 KB  |  105 lines

  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. VOID WINAPI BuildExplicitAccessWithNameA(PEXPLICIT_ACCESS_A,LPSTR,DWORD,ACCESS_MODE,DWORD);
  14. VOID WINAPI BuildExplicitAccessWithNameW(PEXPLICIT_ACCESS_W,LPWSTR,DWORD,ACCESS_MODE,DWORD);
  15. DWORD WINAPI BuildSecurityDescriptorA(PTRUSTEE_A,PTRUSTEE_A ,ULONG,PEXPLICIT_ACCESS_A,
  16.   ULONG,PEXPLICIT_ACCESS_A,PSECURITY_DESCRIPTOR,PULONG,PSECURITY_DESCRIPTOR*);
  17. DWORD WINAPI BuildSecurityDescriptorW(PTRUSTEE_W,PTRUSTEE_W ,ULONG,PEXPLICIT_ACCESS_W,
  18.   ULONG,PEXPLICIT_ACCESS_W,PSECURITY_DESCRIPTOR,PULONG,PSECURITY_DESCRIPTOR*);
  19. VOID WINAPI BuildTrusteeWithNameA(PTRUSTEE_A,LPSTR);
  20. VOID WINAPI BuildTrusteeWithNameW(PTRUSTEE_W,LPWSTR);
  21. VOID WINAPI BuildTrusteeWithObjectsAndNameA(PTRUSTEE_A,POBJECTS_AND_NAME_A,SE_OBJECT_TYPE,
  22.   LPSTR,LPSTR,LPSTR);
  23. VOID WINAPI BuildTrusteeWithObjectsAndNameW(PTRUSTEE_W,POBJECTS_AND_NAME_W,SE_OBJECT_TYPE,
  24.   LPWSTR,LPWSTR,LPWSTR);
  25. VOID WINAPI BuildTrusteeWithObjectsAndSidA(PTRUSTEE_A,POBJECTS_AND_SID,GUID*,GUID*,PSID);
  26. VOID WINAPI BuildTrusteeWithObjectsAndSidW(PTRUSTEE_W,POBJECTS_AND_SID,GUID*,GUID*,PSID);
  27. VOID WINAPI BuildTrusteeWithSidA(PTRUSTEE_A,PSID);
  28. VOID WINAPI BuildTrusteeWithSidW(PTRUSTEE_W,PSID);
  29. DWORD WINAPI GetAuditedPermissionsFromAclA(PACL,PTRUSTEE_A,PACCESS_MASK,PACCESS_MASK);
  30. DWORD WINAPI GetAuditedPermissionsFromAclW(PACL,PTRUSTEE_W,PACCESS_MASK,PACCESS_MASK);
  31. DWORD WINAPI GetEffectiveRightsFromAclA(PACL,PTRUSTEE_A,PACCESS_MASK);
  32. DWORD WINAPI GetEffectiveRightsFromAclW(PACL,PTRUSTEE_W,PACCESS_MASK);
  33. DWORD WINAPI GetExplicitEntriesFromAclA(PACL,PULONG,PEXPLICIT_ACCESS_A*);
  34. DWORD WINAPI GetExplicitEntriesFromAclW(PACL,PULONG,PEXPLICIT_ACCESS_W*);
  35. DWORD WINAPI GetNamedSecurityInfoA(LPSTR,SE_OBJECT_TYPE,SECURITY_INFORMATION,
  36.   PSID*,PSID*,PACL*,PACL*,PSECURITY_DESCRIPTOR*);
  37. DWORD WINAPI GetNamedSecurityInfoW(LPWSTR,SE_OBJECT_TYPE,SECURITY_INFORMATION,
  38.   PSID*,PSID*,PACL*,PACL*,PSECURITY_DESCRIPTOR*);
  39. DWORD WINAPI GetSecurityInfo(HANDLE,SE_OBJECT_TYPE,SECURITY_INFORMATION,
  40.   PSID*,PSID*,PACL*,PACL*,PSECURITY_DESCRIPTOR*);
  41. TRUSTEE_FORM WINAPI GetTrusteeFormA(PTRUSTEE_A);
  42. TRUSTEE_FORM WINAPI GetTrusteeFormW(PTRUSTEE_W);
  43. LPSTR WINAPI GetTrusteeNameA(PTRUSTEE_A);
  44. LPWSTR WINAPI GetTrusteeNameW(PTRUSTEE_W);
  45. TRUSTEE_TYPE WINAPI GetTrusteeTypeA(PTRUSTEE_A);
  46. TRUSTEE_TYPE WINAPI GetTrusteeTypeW(PTRUSTEE_W);
  47. DWORD WINAPI LookupSecurityDescriptorPartsA(PTRUSTEE_A*,PTRUSTEE_A*,PULONG,PEXPLICIT_ACCESS_A*,
  48.   PULONG,PEXPLICIT_ACCESS_A*,PSECURITY_DESCRIPTOR);
  49. DWORD WINAPI LookupSecurityDescriptorPartsW(PTRUSTEE_W*,PTRUSTEE_W*,PULONG,PEXPLICIT_ACCESS_W*,
  50.   PULONG,PEXPLICIT_ACCESS_W*,PSECURITY_DESCRIPTOR);
  51. DWORD WINAPI SetEntriesInAclA(ULONG,PEXPLICIT_ACCESS_A,PACL,PACL*);
  52. DWORD WINAPI SetEntriesInAclW(ULONG,PEXPLICIT_ACCESS_W,PACL,PACL*);
  53. DWORD WINAPI SetNamedSecurityInfoA(LPSTR,SE_OBJECT_TYPE,SECURITY_INFORMATION,PSID,PSID,PACL,PACL);
  54. DWORD WINAPI SetNamedSecurityInfoW(LPWSTR,SE_OBJECT_TYPE,SECURITY_INFORMATION,PSID,PSID,PACL,PACL);
  55. DWORD WINAPI SetSecurityInfo(HANDLE,SE_OBJECT_TYPE,SECURITY_INFORMATION,PSID,PSID,PACL,PACL);
  56.  
  57. /* These are deprecated by MS and not documented in Aug 2001 PSDK 
  58. BuildImpersonateExplicitAccessWithName[AW]
  59. BuildImpersonateTrustee[AW]
  60. GetMultipleTrustee[AW]
  61. GetMultipleTrusteeOperation[AW]
  62. */
  63.  
  64. #ifdef UNICODE
  65. #define BuildExplicitAccessWithName  BuildExplicitAccessWithNameW
  66. #define BuildSecurityDescriptor  BuildSecurityDescriptorW
  67. #define BuildTrusteeWithName  BuildTrusteeWithNameW
  68. #define BuildTrusteeWithObjectsAndName  BuildTrusteeWithObjectsAndNameW
  69. #define BuildTrusteeWithObjectsAndSid  BuildTrusteeWithObjectsAndSidW
  70. #define BuildTrusteeWithSid  BuildTrusteeWithSidW
  71. #define GetAuditedPermissionsFromAcl  GetAuditedPermissionsFromAclW
  72. #define GetEffectiveRightsFromAcl  GetEffectiveRightsFromAclW
  73. #define GetExplicitEntriesFromAcl  GetExplicitEntriesFromAclW
  74. #define GetNamedSecurityInfo  GetNamedSecurityInfoW
  75. #define GetTrusteeForm  GetTrusteeFormW
  76. #define GetTrusteeName  GetTrusteeNameW
  77. #define GetTrusteeType  GetTrusteeTypeW
  78. #define LookupSecurityDescriptorParts  LookupSecurityDescriptorPartsW
  79. #define SetEntriesInAcl  SetEntriesInAclW
  80. #define SetNamedSecurityInfo  SetNamedSecurityInfoW
  81. #else
  82. #define BuildExplicitAccessWithName  BuildExplicitAccessWithNameA
  83. #define BuildSecurityDescriptor  BuildSecurityDescriptorA
  84. #define BuildTrusteeWithName  BuildTrusteeWithNameA
  85. #define BuildTrusteeWithObjectsAndName  BuildTrusteeWithObjectsAndNameA
  86. #define BuildTrusteeWithObjectsAndSid  BuildTrusteeWithObjectsAndSidA
  87. #define BuildTrusteeWithSid  BuildTrusteeWithSidA
  88. #define GetAuditedPermissionsFromAcl  GetAuditedPermissionsFromAclA
  89. #define GetEffectiveRightsFromAcl  GetEffectiveRightsFromAclA
  90. #define GetExplicitEntriesFromAcl  GetExplicitEntriesFromAclA
  91. #define GetNamedSecurityInfo  GetNamedSecurityInfoA
  92. #define GetTrusteeForm  GetTrusteeFormA
  93. #define GetTrusteeName  GetTrusteeNameA
  94. #define GetTrusteeType  GetTrusteeTypeA
  95. #define LookupSecurityDescriptorParts  LookupSecurityDescriptorPartsA
  96. #define SetEntriesInAcl  SetEntriesInAclA
  97. #define SetNamedSecurityInfo  SetNamedSecurityInfoA
  98. #endif  /* UNICODE */
  99.  
  100. #ifdef __cplusplus
  101. }
  102. #endif
  103. #endif
  104.  
  105.