~steve-sk2/mingw-w64/oneiric

« back to all changes in this revision

Viewing changes to mingw-w64-headers/include/evntcons.h

  • Committer: Bazaar Package Importer
  • Author(s): Stephen Kitt
  • Date: 2010-11-18 00:04:46 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20101118000446-xe24b423su55onyl
Tags: 1.0+20101003-1
* New maintainer. (Closes: #594371.)
* New upstream snapshot:
  - Includes getopt.h. (Closes: #569914.)
* Build g++ for Win64. (Closes: #600451.)
* Standards-Version 3.9.1 (new packaging).
* Include patch from
  http://mingw-w64.svn.sourceforge.net/viewvc/mingw-w64?view=revision&revision=3715
  as suggested by Rafaël Carré.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/**
 
2
 * This file has no copyright assigned and is placed in the Public Domain.
 
3
 * This file is part of the w64 mingw-runtime package.
 
4
 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
 
5
 */
 
6
#ifndef _EVNTCONS_H_
 
7
#define _EVNTCONS_H_
 
8
 
 
9
#include <wmistr.h>
 
10
#include <evntrace.h>
 
11
#include <evntprov.h>
 
12
 
 
13
#ifdef __cplusplus
 
14
extern "C" {
 
15
#endif
 
16
 
 
17
typedef enum EVENTSECURITYOPERATION {
 
18
  EventSecuritySetDACL,
 
19
  EventSecuritySetSACL,
 
20
  EventSecurityAddDACL,
 
21
  EventSecurityAddSACL,
 
22
  EventSecurityMax 
 
23
} EVENTSECURITYOPERATION;
 
24
 
 
25
typedef struct _EVENT_EXTENDED_ITEM_INSTANCE {
 
26
  ULONG InstanceId;
 
27
  ULONG ParentInstanceId;
 
28
  GUID  ParentGuid;
 
29
} EVENT_EXTENDED_ITEM_INSTANCE, *PEVENT_EXTENDED_ITEM_INSTANCE;
 
30
 
 
31
typedef struct _EVENT_EXTENDED_ITEM_TS_ID {
 
32
  ULONG SessionId;
 
33
} EVENT_EXTENDED_ITEM_TS_ID, *PEVENT_EXTENDED_ITEM_TS_ID;
 
34
 
 
35
typedef struct _EVENT_EXTENDED_ITEM_RELATED_ACTIVITYID {
 
36
  GUID RelatedActivityId;
 
37
} EVENT_EXTENDED_ITEM_RELATED_ACTIVITYID, *PEVENT_EXTENDED_ITEM_RELATED_ACTIVITYID;
 
38
 
 
39
typedef struct _EVENT_HEADER_EXTENDED_DATA_ITEM {
 
40
  USHORT    Reserved1;
 
41
  USHORT    ExtType;
 
42
  __MINGW_EXTENSION struct {
 
43
    USHORT Linkage   : 1;
 
44
    USHORT Reserved2 :15;
 
45
  } DUMMYSTRUCTNAME;
 
46
  USHORT    DataSize;
 
47
  ULONGLONG DataPtr;
 
48
} EVENT_HEADER_EXTENDED_DATA_ITEM, *PEVENT_HEADER_EXTENDED_DATA_ITEM;
 
49
 
 
50
typedef struct _EVENT_HEADER {
 
51
  USHORT           Size;
 
52
  USHORT           HeaderType;
 
53
  USHORT           Flags;
 
54
  USHORT           EventProperty;
 
55
  ULONG            ThreadId;
 
56
  ULONG            ProcessId;
 
57
  LARGE_INTEGER    TimeStamp;
 
58
  GUID             ProviderId;
 
59
  EVENT_DESCRIPTOR EventDescriptor;
 
60
  __MINGW_EXTENSION union {
 
61
    __MINGW_EXTENSION struct {
 
62
      ULONG KernelTime;
 
63
      ULONG UserTime;
 
64
    } DUMMYSTRUCTNAME;
 
65
    ULONG64 ProcessorTime;
 
66
  } DUMMYUNIONNAME;
 
67
  GUID             ActivityId;
 
68
} EVENT_HEADER, *PEVENT_HEADER;
 
69
 
 
70
#define EVENT_HEADER_PROPERTY_XML               0x0001
 
71
#define EVENT_HEADER_PROPERTY_FORWARDED_XML     0x0002
 
72
#define EVENT_HEADER_PROPERTY_LEGACY_EVENTLOG   0x0004
 
73
 
 
74
#define EVENT_HEADER_FLAG_EXTENDED_INFO         0x0001
 
75
#define EVENT_HEADER_FLAG_PRIVATE_SESSION       0x0002
 
76
#define EVENT_HEADER_FLAG_STRING_ONLY           0x0004
 
77
#define EVENT_HEADER_FLAG_TRACE_MESSAGE         0x0008
 
78
#define EVENT_HEADER_FLAG_NO_CPUTIME            0x0010
 
79
#define EVENT_HEADER_FLAG_32_BIT_HEADER         0x0020
 
80
#define EVENT_HEADER_FLAG_64_BIT_HEADER         0x0040
 
81
#define EVENT_HEADER_FLAG_CLASSIC_HEADER        0x0100
 
82
 
 
83
#define EVENT_HEADER_EXT_TYPE_RELATED_ACTIVITYID 0x0001
 
84
#define EVENT_HEADER_EXT_TYPE_SID               0x0002
 
85
#define EVENT_HEADER_EXT_TYPE_TS_ID             0x0003
 
86
#define EVENT_HEADER_EXT_TYPE_INSTANCE_INFO     0x0004
 
87
#define EVENT_HEADER_EXT_TYPE_STACK_TRACE32     0x0005
 
88
#define EVENT_HEADER_EXT_TYPE_STACK_TRACE64     0x0006
 
89
 
 
90
struct _EVENT_RECORD {
 
91
  EVENT_HEADER                     EventHeader;
 
92
  ETW_BUFFER_CONTEXT               BufferContext;
 
93
  USHORT                           ExtendedDataCount;
 
94
  USHORT                           UserDataLength;
 
95
  PEVENT_HEADER_EXTENDED_DATA_ITEM ExtendedData;
 
96
  PVOID                            UserData;
 
97
  PVOID                            UserContext;
 
98
};
 
99
#ifndef DEFINED_PEVENT_RECORD
 
100
typedef struct _EVENT_RECORD EVENT_RECORD, *PEVENT_RECORD;
 
101
#define DEFINED_PEVENT_RECORD           1
 
102
#endif  /* for  evntrace.h */
 
103
 
 
104
#if (_WIN32_WINNT >= 0x0601)
 
105
typedef struct _EVENT_EXTENDED_ITEM_STACK_TRACE32 {
 
106
  ULONG64 MatchId;
 
107
  ULONG   Address[ANYSIZE_ARRAY];
 
108
} EVENT_EXTENDED_ITEM_STACK_TRACE32, *PEVENT_EXTENDED_ITEM_STACK_TRACE32;
 
109
 
 
110
typedef struct _EVENT_EXTENDED_ITEM_STACK_TRACE64 {
 
111
  ULONG64 MatchId;
 
112
  ULONG64 Address[ANYSIZE_ARRAY];
 
113
} EVENT_EXTENDED_ITEM_STACK_TRACE64, *PEVENT_EXTENDED_ITEM_STACK_TRACE64;
 
114
#endif /*(_WIN32_WINNT >= 0x0601)*/
 
115
 
 
116
#define EVENT_ENABLE_PROPERTY_SID               0x00000001
 
117
#define EVENT_ENABLE_PROPERTY_TS_ID             0x00000002
 
118
#define EVENT_ENABLE_PROPERTY_STACK_TRACE       0x00000004
 
119
 
 
120
#define PROCESS_TRACE_MODE_REAL_TIME            0x00000100
 
121
#define PROCESS_TRACE_MODE_RAW_TIMESTAMP        0x00001000
 
122
#define PROCESS_TRACE_MODE_EVENT_RECORD         0x10000000
 
123
 
 
124
#if (_WIN32_WINNT >= 0x0600)
 
125
ULONG EVNTAPI EventAccessControl(
 
126
  LPGUID Guid,
 
127
  ULONG Operation,
 
128
  PSID Sid,
 
129
  ULONG Rights,
 
130
  BOOLEAN AllowOrDeny
 
131
);
 
132
 
 
133
ULONG EVNTAPI EventAccessQuery(
 
134
  LPGUID Guid,
 
135
  PSECURITY_DESCRIPTOR Buffer,
 
136
  PULONG BufferSize
 
137
);
 
138
 
 
139
ULONG EVNTAPI EventAccessRemove(
 
140
  LPGUID Guid
 
141
);
 
142
#endif /*(_WIN32_WINNT >= 0x0600)*/
 
143
 
 
144
#ifdef __cplusplus
 
145
}
 
146
#endif
 
147
 
 
148
#endif /* _EVNTCONS_H_ */
 
149