#ifndef _ACCCTRL_H
#define _ACCCTRL_H
#pragma GCC system_header
+#include <_mingw.h>
#ifdef __cplusplus
extern "C" {
LPWSTR InheritedObjectTypeName;
LPWSTR ptstrName;
} OBJECTS_AND_NAME_W, *POBJECTS_AND_NAME_W;
+
+#define ACCCTRL_DEFAULT_PROVIDER __AW(ACCCTRL_DEFAULT_PROVIDER)
+typedef __AW(TRUSTEE_) TRUSTEE_, *PTRUSTEE_;
+typedef __AW(TRUSTEE) TRUSTEE, *PTRUSTEE;
+typedef __AW(ACTRL_ACCESS) ACTRL_ACCESS, *PACTRL_ACCESS;
+typedef __AW(ACTRL_ACCESS_ENTRY_LIST) ACTRL_ACCESS_ENTRY_LIST, *PACTRL_ACCESS_ENTRY_LIST;
+typedef __AW(ACTRL_ACCESS_INFO) ACTRL_ACCESS_INFO, *PACTRL_ACCESS_INFO;
+typedef __AW(ACTRL_ACCESS_ENTRY) ACTRL_ACCESS_ENTRY, *PACTRL_ACCESS_ENTRY;
+typedef __AW(ACTRL_AUDIT) ACTRL_AUDIT, *PACTRL_AUDIT;
+typedef __AW(ACTRL_CONTROL_INFO) ACTRL_CONTROL_INFO, *PACTRL_CONTROL_INFO;
+typedef __AW(EXPLICIT_ACCESS_) EXPLICIT_ACCESS_, *PEXPLICIT_ACCESS_;
+typedef __AW(EXPLICIT_ACCESS) EXPLICIT_ACCESS, *PEXPLICIT_ACCESS;
+typedef __AW(TRUSTEE_ACCESS) TRUSTEE_ACCESS, *PTRUSTEE_ACCESS;
+typedef __AW(OBJECTS_AND_NAME_) OBJECTS_AND_NAME_, *POBJECTS_AND_NAME_;
+
#if (_WIN32_WINNT >= 0x0501)
typedef struct {
LONG GenerationGap;
LONG GenerationGap;
LPWSTR AncestorName;
} INHERITED_FROMW, *PINHERITED_FROMW;
-#endif /* (_WIN32_WINNT >= 0x0501) */
-#ifdef UNICODE
-#define ACCCTRL_DEFAULT_PROVIDER ACCCTRL_DEFAULT_PROVIDERW
-typedef TRUSTEE_W TRUSTEE_, *PTRUSTEE_;
-typedef TRUSTEEW TRUSTEE, *PTRUSTEE;
-typedef ACTRL_ACCESSW ACTRL_ACCESS, *PACTRL_ACCESS;
-typedef ACTRL_ACCESS_ENTRY_LISTW ACTRL_ACCESS_ENTRY_LIST, *PACTRL_ACCESS_ENTRY_LIST;
-typedef ACTRL_ACCESS_INFOW ACTRL_ACCESS_INFO, *PACTRL_ACCESS_INFO;
-typedef ACTRL_ACCESS_ENTRYW ACTRL_ACCESS_ENTRY, *PACTRL_ACCESS_ENTRY;
-typedef ACTRL_AUDITW ACTRL_AUDIT, *PACTRL_AUDIT;
-typedef ACTRL_CONTROL_INFOW ACTRL_CONTROL_INFO, *PACTRL_CONTROL_INFO;
-typedef EXPLICIT_ACCESS_W EXPLICIT_ACCESS_, *PEXPLICIT_ACCESS_;
-typedef EXPLICIT_ACCESSW EXPLICIT_ACCESS, *PEXPLICIT_ACCESS;
-typedef TRUSTEE_ACCESSW TRUSTEE_ACCESS, *PTRUSTEE_ACCESS;
-typedef OBJECTS_AND_NAME_W OBJECTS_AND_NAME_, *POBJECTS_AND_NAME_;
-#if (_WIN32_WINNT >= 0x0501)
-typedef INHERITED_FROMW INHERITED_FROM, *PINHERITED_FROM;
-#endif
-#else
-#define ACCCTRL_DEFAULT_PROVIDER ACCCTRL_DEFAULT_PROVIDERA
-typedef TRUSTEE_A TRUSTEE_, *PTRUSTEE_;
-typedef TRUSTEEA TRUSTEE, *PTRUSTEE;
-typedef ACTRL_ACCESSA ACTRL_ACCESS, *PACTRL_ACCESS;
-typedef ACTRL_ACCESS_ENTRY_LISTA ACTRL_ACCESS_ENTRY_LIST, *PACTRL_ACCESS_ENTRY_LIST;
-typedef ACTRL_ACCESS_INFOA ACTRL_ACCESS_INFO, *PACTRL_ACCESS_INFO;
-typedef ACTRL_ACCESS_ENTRYA ACTRL_ACCESS_ENTRY, *PACTRL_ACCESS_ENTRY;
-typedef ACTRL_AUDITA ACTRL_AUDIT, *PACTRL_AUDIT;
-typedef ACTRL_CONTROL_INFOA ACTRL_CONTROL_INFO, *PACTRL_CONTROL_INFO;
-typedef EXPLICIT_ACCESS_A EXPLICIT_ACCESS_, *PEXPLICIT_ACCESS_;
-typedef EXPLICIT_ACCESSA EXPLICIT_ACCESS, *PEXPLICIT_ACCESS;
-typedef TRUSTEE_ACCESSA TRUSTEE_ACCESS, *PTRUSTEE_ACCESS;
-typedef OBJECTS_AND_NAME_A OBJECTS_AND_NAME_, *POBJECTS_AND_NAME_;
-#if (_WIN32_WINNT >= 0x0501)
-typedef INHERITED_FROMA INHERITED_FROM, *PINHERITED_FROM;
-#endif
-#endif /* UNICODE */
+typedef __AW(INHERITED_FROM) INHERITED_FROM, *PINHERITED_FROM;
+#endif /* (_WIN32_WINNT >= 0x0501) */
#ifdef __cplusplus
}