1 /* header auto-generated by pidl */
5 #include "libcli/util/ntstatus.h"
7 #ifndef _HEADER_perfcount
8 #define _HEADER_perfcount
10 #define PERF_NO_INSTANCES ( -1 )
11 #define PERF_NO_UNIQUE_ID ( -1 )
12 #define PERF_SIZE_DWORD ( 0x00000000 )
13 #define PERF_SIZE_LARGE ( 0x00000100 )
14 #define PERF_SIZE_ZERO ( 0x00000200 )
15 #define PERF_SIZE_VARIABLE_LEN ( 0x00000300 )
16 #define PERF_TYPE_NUMBER ( 0x00000000 )
17 #define PERF_TYPE_COUNTER ( 0x00000400 )
18 #define PERF_TYPE_TEXT ( 0x00000800 )
19 #define PERF_TYPE_ZERO ( 0x00000C00 )
20 #define PERF_NUMBER_HEX ( 0x00000000 )
21 #define PERF_NUMBER_DECIMAL ( 0x00010000 )
22 #define PERF_NUMBER_DEC_1000 ( 0x00020000 )
23 #define PERF_COUNTER_VALUE ( 0x00000000 )
24 #define PERF_COUNTER_RATE ( 0x00010000 )
25 #define PERF_COUNTER_FRACTION ( 0x00020000 )
26 #define PERF_COUNTER_BASE ( 0x00030000 )
27 #define PERF_COUNTER_ELAPSED ( 0x00040000 )
28 #define PERF_COUNTER_QUEUELEN ( 0x00050000 )
29 #define PERF_COUNTER_HISTOGRAM ( 0x00060000 )
30 #define PERF_COUNTER_PRECISION ( 0x00070000 )
31 #define PERF_TEXT_UNICODE ( 0x00000000 )
32 #define PERF_TEXT_ASCII ( 0x00010000 )
33 #define PERF_TIMER_TICK ( 0x00000000 )
34 #define PERF_TIMER_100NS ( 0x00100000 )
35 #define PERF_OBJECT_TIMER ( 0x00200000 )
36 #define PERF_DELTA_COUNTER ( 0x00400000 )
37 #define PERF_DELTA_BASE ( 0x00800000 )
38 #define PERF_INVERSE_COUNTER ( 0x01000000 )
39 #define PERF_MULTI_COUNTER ( 0x02000000 )
40 #define PERF_DISPLAY_NO_SUFFIX ( 0x00000000 )
41 #define PERF_DISPLAY_PER_SEC ( 0x10000000 )
42 #define PERF_DISPLAY_PERCENT ( 0x20000000 )
43 #define PERF_DISPLAY_SECONDS ( 0x30000000 )
44 #define PERF_DISPLAY_NOSHOW ( 0x40000000 )
45 #define PERF_DETAIL_NOVICE ( 100 )
46 #define PERF_DETAIL_ADVANCED ( 200 )
47 #define PERF_DETAIL_EXPERT ( 300 )
48 #define PERF_DETAIL_WIZARD ( 400 )
57 uint16_t milliseconds
;
60 struct PERF_COUNTER_DEFINITION
{
62 uint32_t CounterNameTitleIndex
;
63 uint32_t CounterNameTitlePointer
;
64 uint32_t CounterHelpTitleIndex
;
65 uint32_t CounterHelpTitlePointer
;
66 uint32_t DefaultScale
;
70 uint32_t CounterOffset
;
73 struct PERF_COUNTER_BLOCK
{
78 struct PERF_INSTANCE_DEFINITION
{
80 uint32_t ParentObjectTitleIndex
;
81 uint32_t ParentObjectTitlePointer
;
85 uint8_t *data
;/* [unique] */
86 struct PERF_COUNTER_BLOCK counter_data
;
89 struct PERF_OBJECT_TYPE
{
90 uint32_t TotalByteLength
;
91 uint32_t DefinitionLength
;
92 uint32_t HeaderLength
;
93 uint32_t ObjectNameTitleIndex
;
94 uint32_t ObjectNameTitlePointer
;
95 uint32_t ObjectHelpTitleIndex
;
96 uint32_t ObjectHelpTitlePointer
;
99 uint32_t DefaultCounter
;
100 uint32_t NumInstances
;
104 struct PERF_COUNTER_DEFINITION
*counters
;
105 struct PERF_INSTANCE_DEFINITION
*instances
;
106 struct PERF_COUNTER_BLOCK counter_data
;
109 struct PERF_DATA_BLOCK
{
110 uint16_t Signature
[4];
111 uint32_t LittleEndian
;
114 uint32_t TotalByteLength
;
115 uint32_t HeaderLength
;
116 uint32_t NumObjectTypes
;
117 uint32_t DefaultObject
;
118 struct SYSTEMTIME SystemTime
;
122 uint64_t PerfTime100nSec
;
123 uint32_t SystemNameLength
;
124 uint32_t SystemNameOffset
;
125 uint8_t *data
;/* [unique] */
126 struct PERF_OBJECT_TYPE
*objects
;
129 #endif /* _HEADER_perfcount */