unbreak build
[reactos.git] / reactos / ntoskrnl / include / internal / ps_i.h
1 /*
2 * PROJECT: ReactOS Kernel
3 * LICENSE: GPL - See COPYING in the top level directory
4 * FILE: ntoskrnl/include/ps_i.h
5 * PURPOSE: Info Classes for the Process Manager
6 * PROGRAMMERS: Alex Ionescu (alex.ionescu@reactos.org)
7 * Thomas Weidenmueller (w3seek@reactos.org)
8 */
9
10 //
11 // Process Information Classes
12 //
13 static const INFORMATION_CLASS_INFO PsProcessInfoClass[] =
14 {
15 /* ProcessBasicInformation */
16 IQS_SAME
17 (
18 PROCESS_BASIC_INFORMATION,
19 ULONG,
20 ICIF_QUERY
21 ),
22
23 /* ProcessQuotaLimits */
24 IQS_SAME
25 (
26 QUOTA_LIMITS,
27 ULONG,
28 ICIF_QUERY | ICIF_SET
29 ),
30
31 /* ProcessIoCounters */
32 IQS_SAME
33 (
34 IO_COUNTERS,
35 ULONG,
36 ICIF_QUERY
37 ),
38
39 /* ProcessVmCounters */
40 IQS_SAME
41 (
42 VM_COUNTERS,
43 ULONG,
44 ICIF_QUERY
45 ),
46
47 /* ProcessTimes */
48 IQS_SAME
49 (
50 KERNEL_USER_TIMES,
51 ULONG,
52 ICIF_QUERY
53 ),
54
55 /* ProcessBasePriority */
56 IQS_SAME
57 (
58 KPRIORITY,
59 ULONG,
60 ICIF_SET
61 ),
62
63 /* ProcessRaisePriority */
64 IQS_SAME
65 (
66 ULONG,
67 ULONG,
68 ICIF_SET
69 ),
70
71 /* ProcessDebugPort */
72 IQS_SAME
73 (
74 HANDLE,
75 ULONG,
76 ICIF_QUERY
77 ),
78
79 /* ProcessExceptionPort */
80 IQS_SAME
81 (
82 HANDLE,
83 ULONG,
84 ICIF_SET
85 ),
86
87 /* ProcessAccessToken */
88 IQS_SAME
89 (
90 PROCESS_ACCESS_TOKEN,
91 ULONG,
92 ICIF_SET
93 ),
94
95 /* ProcessLdtInformation */
96 IQS_SAME
97 (
98 UCHAR,
99 ULONG,
100 ICIF_QUERY | ICIF_SET
101 ),
102
103 /* ProcessLdtSize */
104 IQS_SAME
105 (
106 UCHAR,
107 ULONG,
108 ICIF_SET
109 ),
110
111 /* ProcessDefaultHardErrorMode */
112 IQS_SAME
113 (
114 ULONG,
115 ULONG,
116 ICIF_QUERY | ICIF_SET
117 ),
118
119 /* ProcessIoPortHandlers */
120 IQS_SAME
121 (
122 UCHAR,
123 ULONG,
124 ICIF_SET
125 ),
126
127 /* ProcessPooledUsageAndLimits */
128 IQS_SAME
129 (
130 POOLED_USAGE_AND_LIMITS,
131 ULONG,
132 ICIF_QUERY
133 ),
134
135 /* ProcessWorkingSetWatch */
136 IQS_SAME
137 (
138 PROCESS_WS_WATCH_INFORMATION,
139 ULONG,
140 ICIF_QUERY | ICIF_SET
141 ),
142
143 /* ProcessUserModeIOPL */
144 IQS_SAME
145 (
146 UCHAR,
147 ULONG,
148 ICIF_SET
149 ),
150
151 /* ProcessEnableAlignmentFaultFixup */
152 IQS_SAME
153 (
154 BOOLEAN,
155 ULONG,
156 ICIF_SET
157 ),
158
159 /* ProcessPriorityClass */
160 IQS_SAME
161 (
162 PROCESS_PRIORITY_CLASS,
163 USHORT,
164 ICIF_QUERY | ICIF_SET
165 ),
166
167 /* ProcessWx86Information */
168 IQS_SAME
169 (
170 ULONG,
171 ULONG,
172 ICIF_QUERY
173 ),
174
175 /* ProcessHandleCount */
176 IQS_SAME
177 (
178 ULONG,
179 ULONG,
180 ICIF_QUERY
181 ),
182
183 /* ProcessAffinityMask */
184 IQS_SAME
185 (
186 KAFFINITY,
187 ULONG,
188 ICIF_SET
189 ),
190
191 /* ProcessPriorityBoost */
192 IQS_SAME
193 (
194 ULONG,
195 ULONG,
196 ICIF_QUERY | ICIF_SET
197 ),
198
199 /* ProcessDeviceMap */
200 IQS
201 (
202 ((PROCESS_DEVICEMAP_INFORMATION*)0)->Query,
203 ((PROCESS_DEVICEMAP_INFORMATION*)0)->Set,
204 ULONG,
205 ULONG,
206 ICIF_QUERY | ICIF_SET
207 ),
208
209 /* ProcessSessionInformation */
210 IQS_SAME
211 (
212 PROCESS_SESSION_INFORMATION,
213 ULONG,
214 ICIF_QUERY | ICIF_SET
215 ),
216
217 /* ProcessForegroundInformation */
218 IQS_SAME
219 (
220 BOOLEAN,
221 ULONG,
222 ICIF_SET
223 ),
224
225 /* ProcessWow64Information */
226 IQS_SAME
227 (
228 ULONG,
229 ULONG,
230 ICIF_QUERY
231 ),
232
233 /* ProcessImageFileName */
234 IQS_SAME
235 (
236 UNICODE_STRING,
237 ULONG,
238 ICIF_QUERY | ICIF_SIZE_VARIABLE
239 ),
240
241 /* ProcessLUIDDeviceMapsEnabled */
242 IQS_SAME
243 (
244 UCHAR,
245 UCHAR,
246 0
247 ),
248
249 /* ProcessBreakOnTermination */
250 IQS_SAME
251 (
252 UCHAR,
253 UCHAR,
254 0
255 ),
256
257 /* ProcessDebugObjectHandle */
258 IQS_SAME
259 (
260 UCHAR,
261 UCHAR,
262 0
263 ),
264
265 /* ProcessDebugFlags */
266 IQS_SAME
267 (
268 UCHAR,
269 UCHAR,
270 0
271 ),
272
273 /* ProcessHandleTracing */
274 IQS_SAME
275 (
276 UCHAR,
277 UCHAR,
278 0
279 ),
280
281 /* ProcessIoPriority */
282 IQS_SAME
283 (
284 UCHAR,
285 UCHAR,
286 0
287 ),
288
289 /* ProcessExecuteFlags */
290 IQS_SAME
291 (
292 UCHAR,
293 UCHAR,
294 0
295 ),
296
297 /* ProcessTlsInformation */
298 IQS_SAME
299 (
300 UCHAR,
301 UCHAR,
302 0
303 ),
304
305 /* ProcessCookie */
306 IQS_SAME
307 (
308 UCHAR,
309 UCHAR,
310 0
311 ),
312
313 /* ProcessImageInformation */
314 IQS_SAME
315 (
316 UCHAR,
317 UCHAR,
318 0
319 ),
320
321 /* ProcessCycleTime */
322 IQS_SAME
323 (
324 UCHAR,
325 UCHAR,
326 0
327 ),
328
329 /* ProcessPagePriority */
330 IQS_SAME
331 (
332 UCHAR,
333 UCHAR,
334 0
335 ),
336
337 /* ProcessInstrumentationCallback */
338 IQS_SAME
339 (
340 UCHAR,
341 UCHAR,
342 0
343 ),
344 };
345
346 //
347 // Thread Information Classes
348 //
349 static const INFORMATION_CLASS_INFO PsThreadInfoClass[] =
350 {
351 /* ThreadBasicInformation */
352 IQS_SAME
353 (
354 THREAD_BASIC_INFORMATION,
355 ULONG,
356 ICIF_QUERY
357 ),
358
359 /* ThreadTimes */
360 IQS_SAME
361 (
362 KERNEL_USER_TIMES,
363 ULONG,
364 ICIF_QUERY
365 ),
366
367 /* ThreadPriority */
368 IQS_SAME
369 (
370 KPRIORITY,
371 ULONG,
372 ICIF_QUERY
373 ),
374
375 /* ThreadBasePriority */
376 IQS_SAME
377 (
378 LONG,
379 ULONG,
380 ICIF_QUERY
381 ),
382
383 /* ThreadAffinityMask */
384 IQS_SAME
385 (
386 KAFFINITY,
387 ULONG,
388 ICIF_QUERY
389 ),
390
391 /* ThreadImpersonationToken */
392 IQS_SAME
393 (
394 HANDLE,
395 ULONG,
396 ICIF_QUERY | ICIF_SET
397 ),
398
399 /* ThreadDescriptorTableEntry */
400 IQS_SAME
401 (
402 UCHAR,
403 UCHAR,
404 ICIF_QUERY
405 ),
406
407 /* ThreadEnableAlignmentFaultFixup */
408 IQS_SAME
409 (
410 UCHAR,
411 UCHAR,
412 ICIF_QUERY
413 ),
414
415 /* ThreadEventPair_Reusable */
416 IQS_SAME
417 (
418 UCHAR,
419 UCHAR,
420 ICIF_QUERY
421 ),
422
423 /* ThreadQuerySetWin32StartAddress */
424 IQS_SAME
425 (
426 PVOID,
427 ULONG,
428 ICIF_QUERY | ICIF_SET
429 ),
430
431 /* ThreadZeroTlsCell */
432 IQS_SAME
433 (
434 UCHAR,
435 UCHAR,
436 ICIF_QUERY
437 ),
438
439 /* ThreadPerformanceCount */
440 IQS_SAME
441 (
442 LARGE_INTEGER,
443 ULONG,
444 ICIF_QUERY
445 ),
446
447 /* ThreadAmILastThread */
448 IQS_SAME
449 (
450 BOOLEAN,
451 BOOLEAN,
452 ICIF_QUERY
453 ),
454
455 /* ThreadIdealProcessor */
456 IQS_SAME
457 (
458 UCHAR,
459 UCHAR,
460 ICIF_QUERY
461 ),
462
463 /* ThreadPriorityBoost */
464 IQS_SAME
465 (
466 UCHAR,
467 UCHAR,
468 ICIF_QUERY
469 ),
470
471 /* ThreadSetTlsArrayAddress */
472 IQS_SAME
473 (
474 UCHAR,
475 UCHAR,
476 ICIF_QUERY
477 ),
478
479 /* ThreadIsIoPending */
480 IQS_SAME
481 (
482 ULONG,
483 ULONG,
484 ICIF_QUERY
485 ),
486
487 /* ThreadHideFromDebugger */
488 IQS_SAME
489 (
490 UCHAR,
491 UCHAR,
492 ICIF_QUERY
493 ),
494
495
496 /* ThreadPriorityBoost */
497 IQS_SAME
498 (
499 UCHAR,
500 UCHAR,
501 ICIF_QUERY
502 ),
503
504 /* ThreadSetTlsArrayAddress */
505 IQS_SAME
506 (
507 UCHAR,
508 UCHAR,
509 ICIF_QUERY
510 ),
511
512 /* ThreadIsIoPending */
513 IQS_SAME
514 (
515 ULONG,
516 ULONG,
517 ICIF_QUERY
518 ),
519
520 /* ThreadHideFromDebugger */
521 IQS_SAME
522 (
523 UCHAR,
524 UCHAR,
525 ICIF_QUERY
526 ),
527
528 /* ThreadBreakOnTermination */
529 IQS_SAME
530 (
531 UCHAR,
532 UCHAR,
533 ICIF_QUERY
534 ),
535
536 /* ThreadSwitchLegacyState */
537 IQS_SAME
538 (
539 UCHAR,
540 UCHAR,
541 ICIF_QUERY
542 ),
543
544 /* ThreadIsTerminated */
545 IQS_SAME
546 (
547 ULONG,
548 ULONG,
549 ICIF_QUERY
550 ),
551
552 /* ThreadLastSystemCall */
553 IQS_SAME
554 (
555 UCHAR,
556 UCHAR,
557 ICIF_QUERY
558 ),
559
560 /* ThreadIoPriority */
561 IQS_SAME
562 (
563 UCHAR,
564 UCHAR,
565 ICIF_QUERY
566 ),
567
568 /* ThreadCycleTime */
569 IQS_SAME
570 (
571 UCHAR,
572 UCHAR,
573 ICIF_QUERY
574 ),
575
576 /* ThreadPagePriority */
577 IQS_SAME
578 (
579 ULONG,
580 ULONG,
581 ICIF_QUERY
582 ),
583
584 /* ThreadActualBasePriority */
585 IQS_SAME
586 (
587 UCHAR,
588 UCHAR,
589 ICIF_QUERY
590 ),
591
592 /* ThreadTebInformation */
593 IQS_SAME
594 (
595 ULONG,
596 ULONG,
597 ICIF_QUERY
598 ),
599
600 /* ThreadCSwitchMon */
601 IQS_SAME
602 (
603 UCHAR,
604 UCHAR,
605 ICIF_QUERY
606 ),
607 };