1 /* GENERAL DEFINITIONS ****************************************************/
3 #include <internal/hal/irq.h>
9 * PURPOSE: Number of a thread priority levels
11 #define NR_PRIORITY_LEVELS (32)
14 * PURPOSE: Type of queue to insert a work item in
20 HyperCriticalWorkQueue
,
24 * Types of memory to allocate
29 NonPagedPoolMustSucceed
,
30 NonPagedPoolCacheAligned
,
31 NonPagedPoolCacheAlignedMustS
,
33 PagedPoolCacheAligned
,
37 * Possible status codes
38 * FIXME: These may not be the actual values used by NT
43 STATUS_INSUFFICIENT_RESOURCES
,
44 STATUS_OBJECT_NAME_EXISTS
,
45 STATUS_OBJECT_NAME_COLLISION
,
46 // STATUS_DATATYPE_MISALIGNMENT,
47 STATUS_CTL_FILE_NOT_SUPPORTED
,
48 // STATUS_ACCESS_VIOLATION,
49 STATUS_PORT_ALREADY_SET
,
50 STATUS_SECTION_NOT_IMAGE
,
51 STATUS_BAD_WORKING_SET_LIMIT
,
52 STATUS_INCOMPATIBLE_FILE_MAP
,
53 STATUS_HANDLE_NOT_WAITABLE
,
54 STATUS_PORT_DISCONNECTED
,
56 STATUS_NOT_MAPPED_VIEW
,
57 STATUS_UNABLE_TO_FREE_VM
,
58 STATUS_UNABLE_TO_DELETE_SECTION
,
59 STATUS_MORE_PROCESSING_REQUIRED
,
61 STATUS_BAD_INITIAL_STACK
,
62 STATUS_INVALID_VOLUME_LABEL
,
63 STATUS_SECTION_NOT_EXTENDED
,
64 STATUS_NOT_MAPPED_DATA
,
65 STATUS_INFO_LENGTH_MISMATCH
,
66 STATUS_INVALID_INFO_CLASS
,
67 STATUS_SUSPEND_COUNT_EXCEEDED
,
68 STATUS_NOTIFY_ENUM_DIR
,
69 STATUS_REGISTRY_RECOVERED
,
70 STATUS_REGISTRY_IO_FAILED
,
73 STATUS_KEY_HAS_CHILDREN
,
74 STATUS_CHILD_MUST_BE_VOLATILE
,
75 STATUS_REGISTRY_CORRUPT
,
77 STATUS_DLL_INIT_FAILED
,
78 STATUS_ORDINAL_NOT_FOUND
,
79 STATUS_ENTRYPOINT_NOT_FOUND
,
82 // STATUS_INTEGER_OVERFLOW,
83 STATUS_BUFFER_OVERFLOW
,
85 STATUS_NO_INHERITANCE
,
87 STATUS_NO_MORE_ENTRIES
,
88 STATUS_GUIDS_EXHAUSTED
,
89 STATUS_AGENTS_EXHAUSTED
,
91 STATUS_NOT_IMPLEMENTED
,
92 STATUS_ILLEGAL_FUNCTION
,
93 // STATUS_IN_PAGE_ERROR,
94 STATUS_PAGEFILE_QUOTA
,
95 STATUS_COMMITMENT_LIMIT
,
96 STATUS_SECTION_TOO_BIG
,
97 RPC_NT_SS_IN_NULL_CONTEXT
,
98 RPC_NT_INVALID_BINDING
,
99 // STATUS_INVALID_HANDLE,
100 STATUS_OBJECT_FILE_MISMATCH
,
102 STATUS_INVALID_PORT_HANDLE
,
103 STATUS_NOT_COMMITTED
,
104 STATUS_INVALID_PARAMETER
,
105 STATUS_INVALID_PARAMETER_1
,
106 STATUS_INVALID_PARAMETER_2
,
107 STATUS_INVALID_PARAMETER_3
,
108 STATUS_INVALID_PARAMETER_4
,
109 STATUS_INVALID_PARAMETER_5
,
110 STATUS_INVALID_PARAMETER_6
,
111 STATUS_INVALID_PARAMETER_7
,
112 STATUS_INVALID_PARAMETER_8
,
113 STATUS_INVALID_PARAMETER_9
,
114 STATUS_INVALID_PARAMETER_10
,
115 STATUS_INVALID_PARAMETER_11
,
116 STATUS_INVALID_PARAMETER_12
,
117 STATUS_INVALID_PARAMETER_MAX
,
118 STATUS_INVALID_PAGE_PROTECTION
,
119 STATUS_RESOURCE_DATA_NOT_FOUND
,
120 STATUS_RESOURCE_TYPE_NOT_FOUND
,
121 STATUS_RESOURCE_NAME_NOT_FOUND
,
122 STATUS_RESOURCE_LANG_NOT_FOUND
,
123 STATUS_NO_SUCH_DEVICE
,
125 STATUS_INVALID_DEVICE_REQUEST
,
127 STATUS_FILE_FORCED_CLOSED
,
130 STATUS_NO_MEDIA_IN_DEVICE
,
131 STATUS_NONEXISTENT_SECTOR
,
132 STATUS_WORKING_SET_QUOTA
,
134 STATUS_CONFLICTING_ADDRESS
,
135 STATUS_INVALID_SYSTEM_SERVICE
,
136 STATUS_THREAD_IS_TERMINATING
,
137 STATUS_PROCESS_IS_TERMINATING
,
138 STATUS_INVALID_LOCK_SEQUENCE
,
139 STATUS_INVALID_VIEW_SIZE
,
140 STATUS_ALREADY_COMMITTED
,
141 STATUS_ACCESS_DENIED
,
142 STATUS_FILE_IS_A_DIRECTORY
,
143 STATUS_CANNOT_DELETE
,
144 STATUS_INVALID_COMPUTER_NAME
,
146 STATUS_DELETE_PENDING
,
147 STATUS_PORT_CONNECTION_REFUSED
,
148 STATUS_NO_SUCH_PRIVILEGE
,
149 STATUS_PRIVILEGE_NOT_HELD
,
150 STATUS_CANNOT_IMPERSONATE
,
151 STATUS_LOGON_FAILURE
,
152 STATUS_ACCOUNT_RESTRICTION
,
153 STATUS_INVALID_LOGON_HOURS
,
154 STATUS_INVALID_WORKSTATION
,
155 STATUS_BUFFER_TOO_SMALL
,
156 STATUS_UNABLE_TO_DECOMMIT_VM
,
157 STATUS_DISK_CORRUPT_ERROR
,
158 STATUS_OBJECT_NAME_INVALID
,
159 STATUS_OBJECT_NAME_NOT_FOUND
,
160 // STATUS_OBJECT_NAME_COLLISION,
161 STATUS_OBJECT_PATH_INVALID
,
162 STATUS_OBJECT_PATH_NOT_FOUND
,
163 STATUS_DFS_EXIT_PATH_FOUND
,
164 STATUS_OBJECT_PATH_SYNTAX_BAD
,
166 STATUS_DATA_LATE_ERROR
,
169 STATUS_SHARING_VIOLATION
,
170 STATUS_QUOTA_EXCEEDED
,
171 STATUS_MUTANT_NOT_OWNED
,
172 STATUS_SEMAPHORE_LIMIT_EXCEEDED
,
174 STATUS_LOCK_NOT_GRANTED
,
176 STATUS_DEVICE_NOT_READY
,
178 STATUS_MEDIA_WRITE_PROTECTED
,
179 STATUS_NO_MEDIA_IN_DRIVE
,
180 STATUS_VERIFY_REQUIRED
,
181 STATUS_UNRECOGNIZED_MEDIA
,
182 // STATUS_WRONG_VOLUME,
186 * This is a list of bug check types (not MS's)
190 APC_INDEX_MISMATCH
= 1,
191 DEVICE_QUEUE_NOT_BUSY
,
192 INVALID_AFFINITY_SET
,
193 INVALID_DATA_ACCESS_TRAP
,
194 INVALID_PROCESS_ATTACH_ATTEMPT
,
195 INVALID_PROCESS_DEATTACH_ATTEMPT
,
196 INVALID_SOFTWARE_INTERRUPT
,
197 IRQL_NOT_DISPATCH_LEVEL
,
198 IRQL_NOT_GREATER_OR_EQUAL
,
199 NO_EXCEPTION_HANDLING_SUPPORT
,
200 MAXIMUM_WAIT_OBJECTS_EXCEEDED
,
201 MUTEX_LEVEL_NUMBER_VIOLATION
,
202 NO_USER_MODE_CONTEXT
,
203 SPIN_LOCK_ALREADY_OWNED
,
205 THREAD_NOT_MUTEX_OWNER
,
207 EMPTY_THREAD_REAPER_LIST
,
208 CREATE_DELETE_LOCK_NOT_LOCKED
,
209 LAST_CHANCE_CALLED_FROM_KMODE
,
212 REFERENCE_BY_POINTER
,
217 NO_SPIN_LOCK_AVAILABLE
,
218 KMODE_EXCEPTION_NOT_HANDLED
,
219 SHARED_RESOURCE_CONV_ERROR
,
220 KERNEL_APC_PENDING_DURING_EXIT
,
228 CORRUPT_ACCESS_TOKEN
,
232 PORT_DRIVER_INTERNAL
,
233 SCSI_DISK_DRIVER_INTERNAL
,
234 INSTRUCTION_BUS_ERROR
,
235 SET_OF_INVALID_CONTEXT
,
236 PHASE0_INITIALIZATION_FAILED
,
237 PHASE1_INITIALIZATION_FAILED
,
238 UNEXPECTED_INITIALIZATION_CALL
,
240 NO_MORE_IRP_STACK_LOCATIONS
,
241 DEVICE_REFERENCE_COUNT_NOT_ZERO
,
242 FLOPPY_INTERNAL_ERROR
,
243 SERIAL_DRIVER_INTERNAL
,
244 SYSTEM_EXIT_OWNED_MUTEX
,
245 SYSTEM_UNWIND_PREVIOUS_USER
,
246 SYSTEN_SERVICE_EXCEPTION
,
247 INTERRUPT_UNWIND_ATTEMPTED
,
248 INTERRUPT_EXCEPTION_NOT_HANDLED
,
249 MULTIPROCESSOR_CONFIGURATION_NOT_SUPPORTED
,
251 TARGET_MDL_TOO_SMALL
,
252 MUST_SUCCEED_POOL_EMPTY
,
253 ATDISK_DRIVER_INTERNAL
,
255 MULTIPLE_IRP_COMPLETE_REQUESTS
,
256 INSUFFICENT_SYSTEM_MAP_PAGES
,
257 DEREF_UNKNOWN_LOGON_SERVICE
,
258 REF_UNKNOWN_LOGON_SERVICE
,
259 CANCEL_STATE_IN_COMPLETED_IRP
,
260 PAGE_FAULT_WITH_INTERRUPTS_OFF
,
261 IRQL_GT_ZERO_AT_SYSTEM_SERVICE
,
262 STREAMS_INTERNAL_ERROR
,
263 FATAL_UNHANDLED_HARD_ERROR
,
267 PAGE_FAULT_IN_NONPAGED_AREA
,
269 MAILSLOT_FILE_SYSTEM
,
271 LM_SERVER_INTERNAL_ERROR
,
272 DATA_COHERENCY_EXCEPTION
,
273 INSTRUCTION_COHERENCY_EXCEPTION
,
275 FTDISK_INTERNAL_ERROR
,
277 CRITICAL_SERVICE_FAILED
,
279 HAL_INITIALIZED_FAILED
,
280 UNSUPPORTED_PROCESSOR
,
281 OBJECT_INITIALIZATION_FAILED
,
282 SECURITY_INITIALIZATION_FAILED
,
283 PROCESS_INITIALIZATION_FAILED
,
284 HAL1_INITIALIZATION_FAILED
,
290 KBUG_IO_STACK_OVERFLOW
,
292 KBUG_POOL_FREE_LIST_CORRUPT
,
295 * These are well known but the actual value is unknown
297 // NO_PAGES_AVAILABLE,
300 * These are well known (MS) bug types
301 * (Reference: NT Insider 1997 - http://www.osr.com)
303 IRQL_NOT_LESS_OR_EQUAL
= 0xa,
304 // KMODE_EXCEPTION_NOT_HANDLED = 0x1e,
305 UNEXPECTED_KERNEL_MODE_TRAP
= 0x7f,
306 PAGE_FAULT_IN_NON_PAGED_AREA
= 0x50,
310 * PURPOSE: Object attributes
317 OBJ_CASE_INSENSITIVE
= 0x8,
322 * PURPOSE: DPC priorities
332 * PURPOSE: Timer types
337 SynchronizationTimer
,
341 * PURPOSE: Some drivers use these
348 * PURPOSE: Power IRP minor function numbers
355 IRP_MN_QUERY_CAPABILITIES
,
356 IRP_MN_POWER_SEQUENCE
,
360 * PURPOSE: Used all over
369 * PURPOSE: Arguments to MmProbeAndLockPages
378 #define MAXIMUM_VOLUME_LABEL_LENGTH (32)
388 * Which order for these (only DISPATCH_LEVEL is important for now)
394 * Above here are device specific IRQ levels
396 FIRST_DEVICE_SPECIFIC_LEVEL
,
397 HIGH_LEVEL
= FIRST_DEVICE_SPECIFIC_LEVEL
+ NR_DEVICE_SPECIFIC_LEVELS
,