2 this file defines interfaces mainly exposed to device drivers and
11 /* fixme: put it elsewhere */
18 /* conflict with X11-includes*/
21 typedef struct _IO_STATUS_BLOCK
26 ULONG_PTR Information;
27 } IO_STATUS_BLOCK, *PIO_STATUS_BLOCK;
29 typedef VOID (NTAPI *PIO_APC_ROUTINE) ( PVOID ApcContext, PIO_STATUS_BLOCK IoStatusBlock, ULONG Reserved );
31 typedef enum _KEY_INFORMATION_CLASS {
35 } KEY_INFORMATION_CLASS;
37 typedef enum _KEY_VALUE_INFORMATION_CLASS {
38 KeyValueBasicInformation,
39 KeyValueFullInformation,
40 KeyValuePartialInformation,
41 KeyValueFullInformationAlign64,
42 KeyValuePartialInformationAlign64
43 } KEY_VALUE_INFORMATION_CLASS;
45 typedef enum _PROCESSINFOCLASS
46 { ProcessBasicInformation,
56 ProcessLdtInformation,
58 ProcessDefaultHardErrorMode,
59 ProcessIoPortHandlers,
60 ProcessPooledUsageAndLimits,
61 ProcessWorkingSetWatch,
63 ProcessEnableAlignmentFaultFixup,
65 ProcessWx86Information,
70 ProcessSessionInformation,
71 ProcessForegroundInformation,
72 ProcessWow64Information,
76 typedef enum _THREADINFOCLASS
77 { ThreadBasicInformation,
82 ThreadImpersonationToken,
83 ThreadDescriptorTableEntry,
84 ThreadEnableAlignmentFaultFixup,
85 ThreadEventPair_Reusable,
86 ThreadQuerySetWin32StartAddress,
88 ThreadPerformanceCount,
92 ThreadSetTlsArrayAddress,
97 typedef enum _FILE_INFORMATION_CLASS {
98 FileDirectoryInformation = 1,
99 FileFullDirectoryInformation,
100 FileBothDirectoryInformation,
101 FileBasicInformation,
102 FileStandardInformation,
103 FileInternalInformation,
105 FileAccessInformation,
107 FileRenameInformation,
109 FileNamesInformation,
110 FileDispositionInformation,
111 FilePositionInformation,
112 FileFullEaInformation,
114 FileAlignmentInformation,
116 FileAllocationInformation,
117 FileEndOfFileInformation,
118 FileAlternateNameInformation,
119 FileStreamInformation,
121 FilePipeLocalInformation,
122 FilePipeRemoteInformation,
123 FileMailslotQueryInformation,
124 FileMailslotSetInformation,
125 FileCompressionInformation,
126 FileObjectIdInformation,
127 FileCompletionInformation,
128 FileMoveClusterInformation,
129 FileQuotaInformation,
130 FileReparsePointInformation,
131 FileNetworkOpenInformation,
132 FileAttributeTagInformation,
133 FileTrackingInformation,
134 FileMaximumInformation
135 } FILE_INFORMATION_CLASS, *PFILE_INFORMATION_CLASS;
137 typedef enum _SECTION_INHERIT
145 typedef enum _OBJECT_INFORMATION_CLASS
147 } OBJECT_INFORMATION_CLASS, *POBJECT_INFORMATION_CLASS;
149 typedef enum SYSTEM_INFORMATION_CLASS
151 } SYSTEM_INFORMATION_CLASS, *PSYSTEM_INFORMATION_CLASS;
154 * NtQuerySystemInformation interface
156 typedef struct _SYSTEM_TIME_ADJUSTMENT
158 ULONG TimeAdjustment;
159 BOOL TimeAdjustmentDisabled;
161 } SYSTEM_TIME_ADJUSTMENT, *PSYSTEM_TIME_ADJUSTMENT;
163 typedef struct _SYSTEM_CONFIGURATION_INFO
168 { WORD ProcessorArchitecture;
173 PVOID MinimumApplicationAddress;
174 PVOID MaximumApplicationAddress;
175 ULONG ActiveProcessorMask;
176 ULONG NumberOfProcessors;
178 ULONG AllocationGranularity;
180 WORD ProcessorRevision;
182 } SYSTEM_CONFIGURATION_INFO, *PSYSTEM_CONFIGURATION_INFO;
185 typedef struct _SYSTEM_CACHE_INFORMATION
189 ULONG PageFaultCount;
190 ULONG MinimumWorkingSet;
191 ULONG MaximumWorkingSet;
194 } SYSTEM_CACHE_INFORMATION;
199 typedef enum _TIMER_TYPE