summaryrefslogtreecommitdiff
path: root/src/win32ctl/include/evntcons.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/win32ctl/include/evntcons.h')
-rw-r--r--src/win32ctl/include/evntcons.h158
1 files changed, 158 insertions, 0 deletions
diff --git a/src/win32ctl/include/evntcons.h b/src/win32ctl/include/evntcons.h
new file mode 100644
index 0000000..8c15a20
--- /dev/null
+++ b/src/win32ctl/include/evntcons.h
@@ -0,0 +1,158 @@
+/**
+ * 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.PD within this package.
+ */
+#ifndef _EVNTCONS_H_
+#define _EVNTCONS_H_
+
+/* --- start added by kenj */
+#undef __MINGW_EXTENSION
+#if defined(__GNUC__) || defined(__GNUG__)
+#define __MINGW_EXTENSION __extension__
+#else
+#define __MINGW_EXTENSION
+#endif
+/* --- end added by kenj */
+
+#include <wmistr.h>
+#include <evntrace.h>
+#include <evntprov.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef enum EVENTSECURITYOPERATION {
+ EventSecuritySetDACL,
+ EventSecuritySetSACL,
+ EventSecurityAddDACL,
+ EventSecurityAddSACL,
+ EventSecurityMax
+} EVENTSECURITYOPERATION;
+
+typedef struct _EVENT_EXTENDED_ITEM_INSTANCE {
+ ULONG InstanceId;
+ ULONG ParentInstanceId;
+ GUID ParentGuid;
+} EVENT_EXTENDED_ITEM_INSTANCE, *PEVENT_EXTENDED_ITEM_INSTANCE;
+
+typedef struct _EVENT_EXTENDED_ITEM_TS_ID {
+ ULONG SessionId;
+} EVENT_EXTENDED_ITEM_TS_ID, *PEVENT_EXTENDED_ITEM_TS_ID;
+
+typedef struct _EVENT_EXTENDED_ITEM_RELATED_ACTIVITYID {
+ GUID RelatedActivityId;
+} EVENT_EXTENDED_ITEM_RELATED_ACTIVITYID, *PEVENT_EXTENDED_ITEM_RELATED_ACTIVITYID;
+
+typedef struct _EVENT_HEADER_EXTENDED_DATA_ITEM {
+ USHORT Reserved1;
+ USHORT ExtType;
+ __MINGW_EXTENSION struct {
+ USHORT Linkage : 1;
+ USHORT Reserved2 :15;
+ } DUMMYSTRUCTNAME;
+ USHORT DataSize;
+ ULONGLONG DataPtr;
+} EVENT_HEADER_EXTENDED_DATA_ITEM, *PEVENT_HEADER_EXTENDED_DATA_ITEM;
+
+typedef struct _EVENT_HEADER {
+ USHORT Size;
+ USHORT HeaderType;
+ USHORT Flags;
+ USHORT EventProperty;
+ ULONG ThreadId;
+ ULONG ProcessId;
+ LARGE_INTEGER TimeStamp;
+ GUID ProviderId;
+ EVENT_DESCRIPTOR EventDescriptor;
+ __MINGW_EXTENSION union {
+ __MINGW_EXTENSION struct {
+ ULONG KernelTime;
+ ULONG UserTime;
+ } DUMMYSTRUCTNAME;
+ ULONG64 ProcessorTime;
+ } DUMMYUNIONNAME;
+ GUID ActivityId;
+} EVENT_HEADER, *PEVENT_HEADER;
+
+#define EVENT_HEADER_PROPERTY_XML 0x0001
+#define EVENT_HEADER_PROPERTY_FORWARDED_XML 0x0002
+#define EVENT_HEADER_PROPERTY_LEGACY_EVENTLOG 0x0004
+
+#define EVENT_HEADER_FLAG_EXTENDED_INFO 0x0001
+#define EVENT_HEADER_FLAG_PRIVATE_SESSION 0x0002
+#define EVENT_HEADER_FLAG_STRING_ONLY 0x0004
+#define EVENT_HEADER_FLAG_TRACE_MESSAGE 0x0008
+#define EVENT_HEADER_FLAG_NO_CPUTIME 0x0010
+#define EVENT_HEADER_FLAG_32_BIT_HEADER 0x0020
+#define EVENT_HEADER_FLAG_64_BIT_HEADER 0x0040
+#define EVENT_HEADER_FLAG_CLASSIC_HEADER 0x0100
+
+#define EVENT_HEADER_EXT_TYPE_RELATED_ACTIVITYID 0x0001
+#define EVENT_HEADER_EXT_TYPE_SID 0x0002
+#define EVENT_HEADER_EXT_TYPE_TS_ID 0x0003
+#define EVENT_HEADER_EXT_TYPE_INSTANCE_INFO 0x0004
+#define EVENT_HEADER_EXT_TYPE_STACK_TRACE32 0x0005
+#define EVENT_HEADER_EXT_TYPE_STACK_TRACE64 0x0006
+
+struct _EVENT_RECORD {
+ EVENT_HEADER EventHeader;
+ ETW_BUFFER_CONTEXT BufferContext;
+ USHORT ExtendedDataCount;
+ USHORT UserDataLength;
+ PEVENT_HEADER_EXTENDED_DATA_ITEM ExtendedData;
+ PVOID UserData;
+ PVOID UserContext;
+};
+#ifndef DEFINED_PEVENT_RECORD
+typedef struct _EVENT_RECORD EVENT_RECORD, *PEVENT_RECORD;
+#define DEFINED_PEVENT_RECORD 1
+#endif /* for evntrace.h */
+
+#if (_WIN32_WINNT >= 0x0601)
+typedef struct _EVENT_EXTENDED_ITEM_STACK_TRACE32 {
+ ULONG64 MatchId;
+ ULONG Address[ANYSIZE_ARRAY];
+} EVENT_EXTENDED_ITEM_STACK_TRACE32, *PEVENT_EXTENDED_ITEM_STACK_TRACE32;
+
+typedef struct _EVENT_EXTENDED_ITEM_STACK_TRACE64 {
+ ULONG64 MatchId;
+ ULONG64 Address[ANYSIZE_ARRAY];
+} EVENT_EXTENDED_ITEM_STACK_TRACE64, *PEVENT_EXTENDED_ITEM_STACK_TRACE64;
+#endif /*(_WIN32_WINNT >= 0x0601)*/
+
+#define EVENT_ENABLE_PROPERTY_SID 0x00000001
+#define EVENT_ENABLE_PROPERTY_TS_ID 0x00000002
+#define EVENT_ENABLE_PROPERTY_STACK_TRACE 0x00000004
+
+#define PROCESS_TRACE_MODE_REAL_TIME 0x00000100
+#define PROCESS_TRACE_MODE_RAW_TIMESTAMP 0x00001000
+#define PROCESS_TRACE_MODE_EVENT_RECORD 0x10000000
+
+#if (_WIN32_WINNT >= 0x0600)
+ULONG EVNTAPI EventAccessControl(
+ LPGUID Guid,
+ ULONG Operation,
+ PSID Sid,
+ ULONG Rights,
+ BOOLEAN AllowOrDeny
+);
+
+ULONG EVNTAPI EventAccessQuery(
+ LPGUID Guid,
+ PSECURITY_DESCRIPTOR Buffer,
+ PULONG BufferSize
+);
+
+ULONG EVNTAPI EventAccessRemove(
+ LPGUID Guid
+);
+#endif /*(_WIN32_WINNT >= 0x0600)*/
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _EVNTCONS_H_ */
+