1 (cl:in-package w32apimod
)
3 (define-w32api-module winperf
:winperf
)
5 (cl:in-package cl-w32api.module.winperf
)
9 (defconstant-exported PERF_DATA_VERSION
1)
11 (defconstant-exported PERF_DATA_REVISION
1)
13 (defconstant-exported PERF_NO_INSTANCES -
1)
15 (defconstant-exported PERF_SIZE_DWORD
0)
17 (defconstant-exported PERF_SIZE_LARGE
256)
19 (defconstant-exported PERF_SIZE_ZERO
512)
21 (defconstant-exported PERF_SIZE_VARIABLE_LEN
768)
23 (defconstant-exported PERF_TYPE_NUMBER
0)
25 (defconstant-exported PERF_TYPE_COUNTER
1024)
27 (defconstant-exported PERF_TYPE_TEXT
2048)
29 (defconstant-exported PERF_TYPE_ZERO
#xC00
)
31 (defconstant-exported PERF_NUMBER_HEX
0)
33 (defconstant-exported PERF_NUMBER_DECIMAL
#x10000
)
35 (defconstant-exported PERF_NUMBER_DEC_1000
#x20000
)
37 (defconstant-exported PERF_COUNTER_VALUE
0)
39 (defconstant-exported PERF_COUNTER_RATE
#x10000
)
41 (defconstant-exported PERF_COUNTER_FRACTION
#x20000
)
43 (defconstant-exported PERF_COUNTER_BASE
#x30000
)
45 (defconstant-exported PERF_COUNTER_ELAPSED
#x40000
)
47 (defconstant-exported PERF_COUNTER_QUEUELEN
#x50000
)
49 (defconstant-exported PERF_COUNTER_HISTOGRAM
#x60000
)
51 (defconstant-exported PERF_TEXT_UNICODE
0)
53 (defconstant-exported PERF_TEXT_ASCII
#x10000
)
55 (defconstant-exported PERF_TIMER_TICK
0)
57 (defconstant-exported PERF_TIMER_100NS
#x100000
)
59 (defconstant-exported PERF_OBJECT_TIMER
#x200000
)
61 (defconstant-exported PERF_DELTA_COUNTER
#x400000
)
63 (defconstant-exported PERF_DELTA_BASE
#x800000
)
65 (defconstant-exported PERF_INVERSE_COUNTER
#x1000000
)
67 (defconstant-exported PERF_MULTI_COUNTER
#x2000000
)
69 (defconstant-exported PERF_DISPLAY_NO_SUFFIX
0)
71 (defconstant-exported PERF_DISPLAY_PER_SEC
#x10000000
)
73 (defconstant-exported PERF_DISPLAY_PERCENT
#x20000000
)
75 (defconstant-exported PERF_DISPLAY_SECONDS
#x30000000
)
77 (defconstant-exported PERF_DISPLAY_NOSHOW
#x40000000
)
79 (defconstant-exported PERF_COUNTER_HISTOGRAM_TYPE
#x80000000
)
81 (defconstant-exported PERF_NO_UNIQUE_ID -
1)
83 (defconstant-exported PERF_DETAIL_NOVICE
100)
85 (defconstant-exported PERF_DETAIL_ADVANCED
200)
87 (defconstant-exported PERF_DETAIL_EXPERT
300)
89 (defconstant-exported PERF_DETAIL_WIZARD
400)
91 (defconstant-exported PERF_COUNTER_COUNTER
(cl:logior
0 1024 #x10000
0 #x400000
#x10000000
))
93 (defconstant-exported PERF_COUNTER_TIMER
(cl:logior
256 1024 #x10000
0 #x400000
#x20000000
))
95 (defconstant-exported PERF_COUNTER_QUEUELEN_TYPE
(cl:logior
0 1024 #x50000
0 #x400000
0))
97 (defconstant-exported PERF_COUNTER_BULK_COUNT
(cl:logior
256 1024 #x10000
0 #x400000
#x10000000
))
99 (defconstant-exported PERF_COUNTER_TEXT
(cl:logior
768 2048 0 0))
101 (defconstant-exported PERF_COUNTER_RAWCOUNT
(cl:logior
0 0 #x10000
0))
103 (defconstant-exported PERF_COUNTER_LARGE_RAWCOUNT
(cl:logior
256 0 #x10000
0))
105 (defconstant-exported PERF_COUNTER_RAWCOUNT_HEX
(cl:logior
0 0 0 0))
107 (defconstant-exported PERF_COUNTER_LARGE_RAWCOUNT_HEX
(cl:logior
256 0 0 0))
109 (defconstant-exported PERF_SAMPLE_FRACTION
(cl:logior
0 1024 #x20000
#x400000
#x800000
#x20000000
))
111 (defconstant-exported PERF_SAMPLE_COUNTER
(cl:logior
0 1024 #x10000
0 #x400000
0))
113 (defconstant-exported PERF_COUNTER_NODATA
(cl:logior
512 #x40000000
))
115 (defconstant-exported PERF_COUNTER_TIMER_INV
(cl:logior
256 1024 #x10000
0 #x400000
#x1000000
#x20000000
))
117 (defconstant-exported PERF_SAMPLE_BASE
(cl:logior
0 1024 #x30000
#x40000000
1))
119 (defconstant-exported PERF_AVERAGE_TIMER
(cl:logior
0 1024 #x20000
#x30000000
))
121 (defconstant-exported PERF_AVERAGE_BASE
(cl:logior
0 1024 #x30000
#x40000000
2))
123 (defconstant-exported PERF_AVERAGE_BULK
(cl:logior
256 1024 #x20000
#x40000000
))
125 (defconstant-exported PERF_100NSEC_TIMER
(cl:logior
256 1024 #x10000
#x100000
#x400000
#x20000000
))
127 (defconstant-exported PERF_100NSEC_TIMER_INV
(cl:logior
256 1024 #x10000
#x100000
#x400000
#x1000000
#x20000000
))
129 (defconstant-exported PERF_COUNTER_MULTI_TIMER
(cl:logior
256 1024 #x10000
#x400000
0 #x2000000
#x20000000
))
131 (defconstant-exported PERF_COUNTER_MULTI_TIMER_INV
(cl:logior
256 1024 #x10000
#x400000
#x2000000
0 #x1000000
#x20000000
))
133 (defconstant-exported PERF_COUNTER_MULTI_BASE
(cl:logior
256 1024 #x30000
#x2000000
#x40000000
))
135 (defconstant-exported PERF_100NSEC_MULTI_TIMER
(cl:logior
256 1024 #x400000
#x10000
#x100000
#x2000000
#x20000000
))
137 (defconstant-exported PERF_100NSEC_MULTI_TIMER_INV
(cl:logior
256 1024 #x400000
#x10000
#x100000
#x2000000
#x1000000
#x20000000
))
139 (defconstant-exported PERF_RAW_FRACTION
(cl:logior
0 1024 #x20000
#x20000000
))
141 (defconstant-exported PERF_RAW_BASE
(cl:logior
0 1024 #x30000
#x40000000
3))
143 (defconstant-exported PERF_ELAPSED_TIME
(cl:logior
256 1024 #x40000
#x200000
#x30000000
))
145 (defcstructex-exported PERF_DATA_BLOCK
147 (LittleEndian :unsigned-long
)
148 (Version :unsigned-long
)
149 (Revision :unsigned-long
)
150 (TotalByteLength :unsigned-long
)
151 (HeaderLength :unsigned-long
)
152 (NumObjectTypes :unsigned-long
)
153 (DefaultObject :int32
)
154 (SystemTime SYSTEMTIME
)
155 (PerfTime LARGE_INTEGER
)
156 (PerfFreq LARGE_INTEGER
)
157 (PerfTime100nSec LARGE_INTEGER
)
158 (SystemNameLength :unsigned-long
)
159 (SystemNameOffset :unsigned-long
))
165 (defcstructex-exported PERF_OBJECT_TYPE
166 (TotalByteLength :unsigned-long
)
167 (DefinitionLength :unsigned-long
)
168 (HeaderLength :unsigned-long
)
169 (ObjectNameTitleIndex :unsigned-long
)
170 (ObjectNameTitle :pointer
)
171 (ObjectHelpTitleIndex :unsigned-long
)
172 (ObjectHelpTitle :pointer
)
173 (DetailLevel :unsigned-long
)
174 (NumCounters :unsigned-long
)
175 (DefaultCounter :int32
)
176 (NumInstances :int32
)
177 (CodePage :unsigned-long
)
178 (PerfTime LARGE_INTEGER
)
179 (PerfFreq LARGE_INTEGER
))
185 (defcstructex-exported PERF_COUNTER_DEFINITION
186 (ByteLength :unsigned-long
)
187 (CounterNameTitleIndex :unsigned-long
)
188 (CounterNameTitle :pointer
)
189 (CounterHelpTitleIndex :unsigned-long
)
190 (CounterHelpTitle :pointer
)
191 (DefaultScale :int32
)
192 (DetailLevel :unsigned-long
)
193 (CounterType :unsigned-long
)
194 (CounterSize :unsigned-long
)
195 (CounterOffset :unsigned-long
))
201 (defcstructex-exported PERF_INSTANCE_DEFINITION
202 (ByteLength :unsigned-long
)
203 (ParentObjectTitleIndex :unsigned-long
)
204 (ParentObjectInstance :unsigned-long
)
206 (NameOffset :unsigned-long
)
207 (NameLength :unsigned-long
))
213 (defcstructex-exported PERF_COUNTER_BLOCK
214 (ByteLength :unsigned-long
))