diff fuhtark_test/include/winapi/adtgen.h @ 1500:91c8c3b7cbf0

add: futhark tests for generating vulkan api
author sam <sam@basx.dev>
date Wed, 26 Nov 2025 21:36:48 +0700
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fuhtark_test/include/winapi/adtgen.h	Wed Nov 26 21:36:48 2025 +0700
@@ -0,0 +1,106 @@
+/**
+ * This file has no copyright assigned and is placed in the Public Domain.
+ * This file is part of the w64 mingw-runtime package.
+ * No warranty is given; refer to the file DISCLAIMER within this package.
+ */
+#ifndef _ADTGEN_H
+#define _ADTGEN_H
+
+#define AUDIT_TYPE_LEGACY 1
+#define AUDIT_TYPE_WMI 2
+
+typedef enum _AUDIT_PARAM_TYPE {
+  APT_None = 1,
+  APT_String,APT_Ulong,
+  APT_Pointer,
+  APT_Sid,
+  APT_LogonId,
+  APT_ObjectTypeList,
+  APT_Luid,
+  APT_Guid,
+  APT_Time,
+  APT_Int64
+} AUDIT_PARAM_TYPE;
+
+#define AP_ParamTypeBits 8
+#define AP_ParamTypeMask 0x000000ffL
+
+#define AP_FormatHex (0x0001L << AP_ParamTypeBits)
+#define AP_AccessMask (0x0002L << AP_ParamTypeBits)
+#define AP_Filespec (0x0001L << AP_ParamTypeBits)
+#define AP_PrimaryLogonId (0x0001L << AP_ParamTypeBits)
+#define AP_ClientLogonId (0x0002L << AP_ParamTypeBits)
+
+#define ApExtractType(TypeFlags) ((AUDIT_PARAM_TYPE)(TypeFlags & AP_ParamTypeMask))
+#define ApExtractFlags(TypeFlags) ((TypeFlags & ~AP_ParamTypeMask))
+
+typedef struct _AUDIT_OBJECT_TYPE {
+  GUID ObjectType;
+  USHORT Flags;
+  USHORT Level;
+  ACCESS_MASK AccessMask;
+} AUDIT_OBJECT_TYPE,*PAUDIT_OBJECT_TYPE;
+
+typedef struct _AUDIT_OBJECT_TYPES {
+  USHORT Count;
+  USHORT Flags;
+  AUDIT_OBJECT_TYPE *pObjectTypes;
+} AUDIT_OBJECT_TYPES,*PAUDIT_OBJECT_TYPES;
+
+typedef struct _AUDIT_PARAM {
+  AUDIT_PARAM_TYPE Type;
+  ULONG Length;
+  DWORD Flags;
+  __MINGW_EXTENSION union {
+    ULONG_PTR Data0;
+    PWSTR String;
+    ULONG_PTR u;
+    SID *psid;
+    GUID *pguid;
+    ULONG LogonId_LowPart;
+    AUDIT_OBJECT_TYPES *pObjectTypes;
+  };
+  __MINGW_EXTENSION union {
+    ULONG_PTR Data1;
+    LONG LogonId_HighPart;
+  };
+} AUDIT_PARAM,*PAUDIT_PARAM;
+
+#define APF_AuditFailure 0x00000000
+#define APF_AuditSuccess 0x00000001
+
+#define APF_ValidFlags (APF_AuditSuccess)
+
+typedef struct _AUDIT_PARAMS {
+  ULONG Length;
+  DWORD Flags;
+  USHORT Count;
+  AUDIT_PARAM *Parameters;
+} AUDIT_PARAMS,*PAUDIT_PARAMS;
+
+typedef struct _AUTHZ_AUDIT_EVENT_TYPE_LEGACY {
+  USHORT CategoryId;
+  USHORT AuditId;
+  USHORT ParameterCount;
+} AUTHZ_AUDIT_EVENT_TYPE_LEGACY,*PAUTHZ_AUDIT_EVENT_TYPE_LEGACY;
+
+typedef union _AUTHZ_AUDIT_EVENT_TYPE_UNION {
+  AUTHZ_AUDIT_EVENT_TYPE_LEGACY Legacy;
+} AUTHZ_AUDIT_EVENT_TYPE_UNION,*PAUTHZ_AUDIT_EVENT_TYPE_UNION;
+
+typedef struct _AUTHZ_AUDIT_EVENT_TYPE_OLD {
+  ULONG Version;
+  DWORD dwFlags;
+  LONG RefCount;
+  ULONG_PTR hAudit;
+  LUID LinkId;
+  AUTHZ_AUDIT_EVENT_TYPE_UNION u;
+} AUTHZ_AUDIT_EVENT_TYPE_OLD;
+
+typedef AUTHZ_AUDIT_EVENT_TYPE_OLD *PAUTHZ_AUDIT_EVENT_TYPE_OLD;
+typedef PVOID AUDIT_HANDLE,*PAUDIT_HANDLE;
+
+#define AUTHZ_ALLOW_MULTIPLE_SOURCE_INSTANCES 0x1
+#define AUTHZ_AUDIT_INSTANCE_INFORMATION 0x2
+
+#endif