ReactOS 0.4.16-dev-2491-g3dc6630
haltypes.h
Go to the documentation of this file.
1/* Hardware Abstraction Layer Types */
2
4typedef NTSTATUS
6PROCESSOR_HALT_ROUTINE(
8);
9
10typedef PROCESSOR_HALT_ROUTINE *PPROCESSOR_HALT_ROUTINE;
12
14typedef BOOLEAN
15(NTAPI *PHAL_RESET_DISPLAY_PARAMETERS)(
18
23
24typedef VOID
26 _In_ PBUS_HANDLER BusHandler);
27
57
73
74typedef NTSTATUS
80
81typedef NTSTATUS
86
87typedef VOID
93
94typedef NTSTATUS
100
101typedef NTSTATUS
107
108typedef NTSTATUS
115
116typedef NTSTATUS
118 _In_ PBUS_HANDLER BusHandler,
120 _Out_ PULONG SlotNumbers,
122
123typedef NTSTATUS
125
126typedef struct _PM_DISPATCH_TABLE {
131
132typedef NTSTATUS
134 _In_ PPM_DISPATCH_TABLE PmDriverDispatchTable,
135 _Out_ PPM_DISPATCH_TABLE *PmHalDispatchTable);
136
137typedef struct _DMA_ADAPTER*
142
143typedef NTSTATUS
145 _In_ INTERFACE_TYPE ParentInterfaceType,
146 _In_ ULONG ParentBusNumber,
147 _In_ INTERFACE_TYPE BridgeInterfaceType,
150 _Out_ PTRANSLATOR_INTERFACE Translator,
151 _Out_ PULONG BridgeBusNumber);
152
153typedef NTSTATUS
155
156typedef NTSTATUS
158 _In_ ULONG PassNumber);
159
160typedef NTSTATUS
164
165typedef NTSTATUS
169
170typedef BOOLEAN
177
178typedef NTSTATUS
188
189typedef VOID
191
192typedef BOOLEAN
194
195typedef struct _MAP_REGISTER_ENTRY {
199
200typedef UCHAR
202 ULONG Vector);
203
204typedef BOOLEAN
210 _In_ BOOLEAN NextBus);
211
212typedef VOID
214
215typedef PVOID
218 _In_opt_ PCSTR OemId,
219 _In_opt_ PCSTR OemTableId);
220
221#if defined(_IA64_)
222typedef NTSTATUS
223(*pHalGetErrorCapList)(
224 _Inout_ PULONG CapsListLength,
225 _Inout_updates_bytes_(*CapsListLength) PUCHAR ErrorCapList);
226
227typedef NTSTATUS
228(*pHalInjectError)(
231#endif
232
233typedef VOID
235
236typedef VOID
239
240#if 1 /* Not present in WDK 7600 */
241typedef VOID
243 _In_ struct _LOADER_PARAMETER_BLOCK *LoaderBlock,
244 _In_ PSTRING NtDeviceName,
245 _Out_ PUCHAR NtSystemPath,
246 _Out_ PSTRING NtSystemPathString);
247#endif
248
249typedef struct {
256#if 1 /* Not present in WDK 7600 */
258#endif
276#if defined(_IA64_)
277 pHalGetErrorCapList HalGetErrorCapList;
278 pHalInjectError HalInjectError;
279#endif
281
282#if !defined(_NTSYSTEM_) && (defined(_NTDRIVER_) || defined(_NTDDK_) || defined(_NTIFS_) || defined(_NTHAL_))
285#define HALDISPATCH HalDispatchTable
286#else
288#define HALDISPATCH (&HalDispatchTable)
289#endif
290
291// See Version table at:
292// https://www.geoffchappell.com/studies/windows/km/ntoskrnl/inc/ntos/hal/hal_dispatch.htm
293#if (NTDDI_VERSION < NTDDI_WIN2K)
294#define HAL_DISPATCH_VERSION 1
295#elif (NTDDI_VERSION < NTDDI_WINXP)
296#define HAL_DISPATCH_VERSION 2
297#elif (NTDDI_VERSION < NTDDI_WIN7)
298#define HAL_DISPATCH_VERSION 3
299#else
300#define HAL_DISPATCH_VERSION 4
301#endif
302
303#define HalDispatchTableVersion HALDISPATCH->Version
304#define HalQuerySystemInformation HALDISPATCH->HalQuerySystemInformation
305#define HalSetSystemInformation HALDISPATCH->HalSetSystemInformation
306#define HalQueryBusSlots HALDISPATCH->HalQueryBusSlots
307#define HalReferenceHandlerForBus HALDISPATCH->HalReferenceHandlerForBus
308#define HalReferenceBusHandler HALDISPATCH->HalReferenceBusHandler
309#define HalDereferenceBusHandler HALDISPATCH->HalDereferenceBusHandler
310#define HalInitPnpDriver HALDISPATCH->HalInitPnpDriver
311#define HalInitPowerManagement HALDISPATCH->HalInitPowerManagement
312#define HalGetDmaAdapter HALDISPATCH->HalGetDmaAdapter
313#define HalGetInterruptTranslator HALDISPATCH->HalGetInterruptTranslator
314#define HalStartMirroring HALDISPATCH->HalStartMirroring
315#define HalEndMirroring HALDISPATCH->HalEndMirroring
316#define HalMirrorPhysicalMemory HALDISPATCH->HalMirrorPhysicalMemory
317#define HalEndOfBoot HALDISPATCH->HalEndOfBoot
318#define HalMirrorVerify HALDISPATCH->HalMirrorVerify
319#define HalGetCachedAcpiTable HALDISPATCH->HalGetCachedAcpiTable
320#define HalSetPciErrorHandlerCallback HALDISPATCH->HalSetPciErrorHandlerCallback
321#if defined(_IA64_)
322#define HalGetErrorCapList HALDISPATCH->HalGetErrorCapList
323#define HalInjectError HALDISPATCH->HalInjectError
324#endif
325
326typedef struct _HAL_BUS_INFORMATION {
332
338
347
352
357
363
367
371
372typedef struct _HAL_CALLBACKS {
376
380
381typedef NTSTATUS
383 _In_ BOOLEAN fRead,
384 _In_ ULONG dwAddr,
386 _Inout_ PULONG pdwData);
387
394
395typedef VOID
397
398typedef VOID
400
401typedef NTSTATUS
403 _In_ UCHAR BankNumber,
404 _Inout_ PVOID Exception);
405
406typedef struct _HAL_MCA_INTERFACE {
411
412typedef enum {
418
419#if defined(_AMD64_)
420
421struct _KTRAP_FRAME;
422struct _KEXCEPTION_FRAME;
423
424typedef ERROR_SEVERITY
425(NTAPI *PDRIVER_EXCPTN_CALLBACK)(
428 _In_ struct _KEXCEPTION_FRAME *ExceptionFrame,
429 _In_ PMCA_EXCEPTION Exception);
430
431#endif
432
433#if defined(_ARM_) || defined(_ARM64_)
434
435struct _KTRAP_FRAME;
436struct _KEXCEPTION_FRAME;
437
438typedef PVOID PCMC_EXCEPTION;
439typedef PVOID PCPE_EXCEPTION;
440
441typedef VOID
442(NTAPI *PDRIVER_EXCPTN_CALLBACK)(
445 _In_ struct _KEXCEPTION_FRAME *ExceptionFrame,
446 _In_ PVOID Exception);
447
448#endif /* defined(_ARM_) || defined(_ARM64_) */
449
450#if defined(_X86_) || defined(_IA64_)
451typedef
452#if defined(_IA64_)
453ERROR_SEVERITY
454#else
455VOID
456#endif
457(NTAPI *PDRIVER_EXCPTN_CALLBACK)(
459 _In_ PMCA_EXCEPTION BankLog);
460#endif
461
462typedef PDRIVER_EXCPTN_CALLBACK PDRIVER_MCA_EXCEPTION_CALLBACK;
463
464typedef struct _MCA_DRIVER_INFO {
469
470typedef struct _HAL_ERROR_INFO {
499
500#define HAL_MCE_INTERRUPTS_BASED ((ULONG)-1)
501#define HAL_MCE_DISABLED ((ULONG)0)
502
503#define HAL_CMC_INTERRUPTS_BASED HAL_MCE_INTERRUPTS_BASED
504#define HAL_CMC_DISABLED HAL_MCE_DISABLED
505
506#define HAL_CPE_INTERRUPTS_BASED HAL_MCE_INTERRUPTS_BASED
507#define HAL_CPE_DISABLED HAL_MCE_DISABLED
508
509#define HAL_MCA_INTERRUPTS_BASED HAL_MCE_INTERRUPTS_BASED
510#define HAL_MCA_DISABLED HAL_MCE_DISABLED
511
512typedef VOID
515 _In_ PCMC_EXCEPTION CmcLog);
516
517typedef VOID
520 _In_ PCPE_EXCEPTION CmcLog);
521
522typedef struct _CMC_DRIVER_INFO {
527
528typedef struct _CPE_DRIVER_INFO {
533
534#if defined(_IA64_)
535
536typedef NTSTATUS
537(*HALSENDCROSSPARTITIONIPI)(
538 _In_ USHORT ProcessorID,
539 _In_ UCHAR HardwareVector);
540
541typedef NTSTATUS
542(*HALRESERVECROSSPARTITIONINTERRUPTVECTOR)(
546 _Out_ PUCHAR HardwareVector);
547
548typedef VOID
549(*HALFREECROSSPARTITIONINTERRUPTVECTOR)(
552
553typedef struct _HAL_CROSS_PARTITION_IPI_INTERFACE {
554 HALSENDCROSSPARTITIONIPI HalSendCrossPartitionIpi;
555 HALRESERVECROSSPARTITIONINTERRUPTVECTOR HalReserveCrossPartitionInterruptVector;
556 HALFREECROSSPARTITIONINTERRUPTVECTOR HalFreeCrossPartitionInterruptVector;
557} HAL_CROSS_PARTITION_IPI_INTERFACE;
558
559#define HAL_CROSS_PARTITION_IPI_INTERFACE_MINIMUM_SIZE \
560 FIELD_OFFSET(HAL_CROSS_PARTITION_IPI_INTERFACE, \
561 HalFreeCrossPartitionInterruptVector)
562
563#endif /* defined(_IA64_) */
564
568
569#define HAL_PLATFORM_DISABLE_WRITE_COMBINING 0x01L
570#define HAL_PLATFORM_DISABLE_PTCG 0x04L
571#define HAL_PLATFORM_DISABLE_UC_MAIN_MEMORY 0x08L
572#define HAL_PLATFORM_ENABLE_WRITE_COMBINING_MMIO 0x10L
573#define HAL_PLATFORM_ACPI_TABLES_CACHED 0x20L
574
#define VOID
Definition: acefi.h:82
unsigned char BOOLEAN
Definition: actypes.h:127
LONG NTSTATUS
Definition: precomp.h:26
static const COLUMN_LIST Columns[]
Definition: listview.c:19
_In_ ULONG _In_ BATTERY_QUERY_INFORMATION_LEVEL _In_ LONG _In_ ULONG _Out_ PULONG ReturnedLength
Definition: batclass.h:188
Definition: bufpool.h:45
_Out_ PKIRQL Irql
Definition: csq.h:179
#define BufferSize
Definition: mmc.h:75
#define NTSTATUS
Definition: precomp.h:19
static const WCHAR Signature[]
Definition: parser.c:141
KIRQL * PKIRQL
Definition: env_spec_w32.h:592
_In_ FILTER_INFORMATION_CLASS InformationClass
Definition: fltkernel.h:1713
PSDBQUERYRESULT_VISTA PVOID DWORD * dwSize
Definition: env.c:56
_Inout_opt_ PDEVICE_OBJECT _Inout_opt_ PDEVICE_OBJECT _Inout_opt_ PDEVICE_OBJECT _Inout_opt_ PCM_RESOURCE_LIST * AllocatedResources
Definition: ndis.h:4643
#define _In_reads_bytes_(s)
Definition: no_sal2.h:170
#define _Inout_
Definition: no_sal2.h:162
#define _Inout_opt_
Definition: no_sal2.h:216
#define _Out_
Definition: no_sal2.h:160
#define _In_
Definition: no_sal2.h:158
#define _In_opt_
Definition: no_sal2.h:212
#define _Inout_updates_bytes_to_(s, c)
Definition: no_sal2.h:198
#define _Inout_updates_bytes_(s)
Definition: no_sal2.h:184
#define FASTCALL
Definition: nt_native.h:50
struct _BUS_HANDLER * PBUS_HANDLER
Definition: nt_native.h:37
#define _NTDDK_
CHAR PartitionType
Definition: part_xbox.c:32
#define BOOLEAN
Definition: pedump.c:73
unsigned short USHORT
Definition: pedump.c:61
enum _INTERFACE_TYPE INTERFACE_TYPE
enum _BUS_DATA_TYPE BUS_DATA_TYPE
const KSDEVICE_DESCRIPTOR DeviceDescriptor
Definition: splitter.c:257
_In_ PVOID Context
Definition: storport.h:2269
pHalEndOfBoot HalEndOfBoot
Definition: haltypes.h:272
pHalGetInterruptTranslator HalGetInterruptTranslator
Definition: haltypes.h:268
ULONG Spare1
Definition: haltypes.h:254
pHalIoWritePartitionTable HalIoWritePartitionTable
Definition: haltypes.h:261
pHalQueryBusSlots HalQueryBusSlots
Definition: haltypes.h:253
pHalIoAssignDriveLetters HalIoAssignDriveLetters
Definition: haltypes.h:257
pHalStartMirroring HalStartMirroring
Definition: haltypes.h:269
pHalSetPciErrorHandlerCallback HalSetPciErrorHandlerCallback
Definition: haltypes.h:275
pHalReferenceBusHandler HalReferenceBusHandler
Definition: haltypes.h:263
pHalHandlerForBus HalReferenceHandlerForBus
Definition: haltypes.h:262
pHalGetDmaAdapter HalGetDmaAdapter
Definition: haltypes.h:267
pHalIoReadPartitionTable HalIoReadPartitionTable
Definition: haltypes.h:259
pHalExamineMBR HalExamineMBR
Definition: haltypes.h:255
pHalReferenceBusHandler HalDereferenceBusHandler
Definition: haltypes.h:264
pHalIoSetPartitionInformation HalIoSetPartitionInformation
Definition: haltypes.h:260
pHalMirrorVerify HalMirrorVerify
Definition: haltypes.h:273
ULONG Version
Definition: haltypes.h:250
pHalSetSystemInformation HalSetSystemInformation
Definition: haltypes.h:252
pHalInitPnpDriver HalInitPnpDriver
Definition: haltypes.h:265
pHalGetAcpiTable HalGetCachedAcpiTable
Definition: haltypes.h:274
pHalInitPowerManagement HalInitPowerManagement
Definition: haltypes.h:266
pHalMirrorPhysicalMemory HalMirrorPhysicalMemory
Definition: haltypes.h:271
pHalEndMirroring HalEndMirroring
Definition: haltypes.h:270
pHalQuerySystemInformation HalQuerySystemInformation
Definition: haltypes.h:251
PVOID DeviceContext
Definition: haltypes.h:525
PDRIVER_CMC_EXCEPTION_CALLBACK ExceptionCallback
Definition: haltypes.h:523
PKDEFERRED_ROUTINE DpcCallback
Definition: haltypes.h:524
PVOID DeviceContext
Definition: haltypes.h:531
PDRIVER_CPE_EXCEPTION_CALLBACK ExceptionCallback
Definition: haltypes.h:529
PKDEFERRED_ROUTINE DpcCallback
Definition: haltypes.h:530
PHALIOREADWRITEHANDLER IOHandler
Definition: haltypes.h:392
INTERFACE_TYPE BusType
Definition: haltypes.h:327
BUS_DATA_TYPE ConfigurationType
Definition: haltypes.h:328
PCALLBACK_OBJECT SetSystemInformation
Definition: haltypes.h:373
PCALLBACK_OBJECT BusCheck
Definition: haltypes.h:374
ULONG McaReserved
Definition: haltypes.h:478
ULONG CmcDriverDpcQueueFails
Definition: haltypes.h:483
ULONG CmcMaxSize
Definition: haltypes.h:479
ULONG CpeMaxSize
Definition: haltypes.h:488
ULONG CpeDriverDpcQueueFails
Definition: haltypes.h:492
ULONG CmcReserved
Definition: haltypes.h:486
ULONG CpeInterruptSources
Definition: haltypes.h:495
ULONG CpeInterruptsCount
Definition: haltypes.h:490
ULONG CpeGetStateFails
Definition: haltypes.h:493
ULONG CmcKernelDeliveryFails
Definition: haltypes.h:482
ULONG McaMaxSize
Definition: haltypes.h:473
ULONG CpeClearStateFails
Definition: haltypes.h:494
ULONG CpePollingInterval
Definition: haltypes.h:489
ULONGLONG CmcLogId
Definition: haltypes.h:487
ULONGLONG KernelReserved[4]
Definition: haltypes.h:497
ULONG CmcClearStateFails
Definition: haltypes.h:485
ULONG McaKernelDeliveryFails
Definition: haltypes.h:476
ULONG McaCorrectedEventsCount
Definition: haltypes.h:475
ULONG McaDriverDpcQueueFails
Definition: haltypes.h:477
ULONG CmcGetStateFails
Definition: haltypes.h:484
ULONG McaPreviousEventsCount
Definition: haltypes.h:474
ULONG InitMaxSize
Definition: haltypes.h:472
ULONG CmcInterruptsCount
Definition: haltypes.h:481
ULONG CpeKernelDeliveryFails
Definition: haltypes.h:491
ULONG CmcPollingInterval
Definition: haltypes.h:480
ULONGLONG CpeLogId
Definition: haltypes.h:496
PHALMCAINTERFACEUNLOCK Unlock
Definition: haltypes.h:408
PHALMCAINTERFACELOCK Lock
Definition: haltypes.h:407
PHALMCAINTERFACEREADREGISTER ReadRegister
Definition: haltypes.h:409
KPROFILE_SOURCE Source
Definition: haltypes.h:349
KPROFILE_SOURCE Source
Definition: haltypes.h:354
UINT64 TrapFrame
Definition: ketypes.h:467
Definition: haltypes.h:195
PVOID MapRegister
Definition: haltypes.h:196
BOOLEAN WriteToDevice
Definition: haltypes.h:197
PVOID DeviceContext
Definition: haltypes.h:467
PDRIVER_MCA_EXCEPTION_CALLBACK ExceptionCallback
Definition: haltypes.h:465
PKDEFERRED_ROUTINE DpcCallback
Definition: haltypes.h:466
PVOID Function[1]
Definition: haltypes.h:129
uint16_t * PWSTR
Definition: typedefs.h:56
uint32_t * PULONG_PTR
Definition: typedefs.h:65
uint32_t * PULONG
Definition: typedefs.h:59
#define NTAPI
Definition: typedefs.h:36
void * PVOID
Definition: typedefs.h:50
const char * PCSTR
Definition: typedefs.h:52
uint32_t ULONG_PTR
Definition: typedefs.h:65
unsigned char * PUCHAR
Definition: typedefs.h:53
uint32_t ULONG
Definition: typedefs.h:59
uint64_t ULONGLONG
Definition: typedefs.h:67
_In_ PDEVICE_OBJECT DeviceObject
Definition: wdfdevice.h:2061
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
Definition: wdfdevice.h:4539
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ ULONG BufferLength
Definition: wdfdevice.h:3777
_Must_inspect_result_ _In_ PDRIVER_OBJECT _In_ PCUNICODE_STRING RegistryPath
Definition: wdfdriver.h:215
_Must_inspect_result_ _In_ PDRIVER_OBJECT DriverObject
Definition: wdfdriver.h:213
_Must_inspect_result_ _In_ WDFDEVICE _In_ LPCGUID InterfaceType
Definition: wdffdo.h:463
_Must_inspect_result_ _In_ WDFDEVICE _In_ LPCGUID _Out_ PINTERFACE _In_ USHORT _In_ USHORT Version
Definition: wdffdo.h:469
_In_ WDFINTERRUPT _In_ PFN_WDF_INTERRUPT_SYNCHRONIZE Callback
Definition: wdfinterrupt.h:458
_In_ WDFMEMORY _Out_opt_ size_t * BufferSize
Definition: wdfmemory.h:254
_In_ WDFIORESREQLIST _In_ ULONG SlotNumber
Definition: wdfresource.h:68
#define __CREATE_NTOS_DATA_IMPORT_ALIAS(_Name)
#define _WDMDDK_
Definition: wdm.template.h:26
enum _KPROFILE_SOURCE KPROFILE_SOURCE
_In_opt_ PUNICODE_STRING DriverClassName
Definition: halfuncs.h:156
_Out_ PULONG NumberOfMapRegisters
Definition: halfuncs.h:209
_In_opt_ PUNICODE_STRING _In_ PDRIVER_OBJECT _In_ PDEVICE_OBJECT _In_ INTERFACE_TYPE _In_ ULONG BusNumber
Definition: halfuncs.h:160
_In_ ULONG _In_ ULONG _In_ ULONG _Out_ PKIRQL _Out_ PKAFFINITY Affinity
Definition: halfuncs.h:174
_In_ ULONG _In_ ULONG MBRTypeIdentifier
Definition: halfuncs.h:292
_In_ ULONG SectorSize
Definition: halfuncs.h:291
_In_opt_ PUNICODE_STRING _In_ PDRIVER_OBJECT _In_ PDEVICE_OBJECT _In_ INTERFACE_TYPE BusType
Definition: halfuncs.h:159
NTSTATUS(NTAPI * pHalQuerySystemInformation)(_In_ HAL_QUERY_INFORMATION_CLASS InformationClass, _In_ ULONG BufferSize, _Inout_updates_bytes_to_(BufferSize, *ReturnedLength) PVOID Buffer, _Out_ PULONG ReturnedLength)
Definition: haltypes.h:75
enum _HAL_DISPLAY_BIOS_INFORMATION * PHAL_DISPLAY_BIOS_INFORMATION
struct _HAL_PROFILE_SOURCE_INFORMATION_EX HAL_PROFILE_SOURCE_INFORMATION_EX
struct _HAL_PROCESSOR_SPEED_INFO HAL_PROCESSOR_SPEED_INFORMATION
enum _HAL_QUERY_INFORMATION_CLASS * PHAL_QUERY_INFORMATION_CLASS
NTSTATUS(FASTCALL * pHalIoSetPartitionInformation)(_In_ PDEVICE_OBJECT DeviceObject, _In_ ULONG SectorSize, _In_ ULONG PartitionNumber, _In_ ULONG PartitionType)
Definition: haltypes.h:102
struct _PM_DISPATCH_TABLE * PPM_DISPATCH_TABLE
NTSTATUS(NTAPI * pHalAssignSlotResources)(_In_ PUNICODE_STRING RegistryPath, _In_opt_ PUNICODE_STRING DriverClassName, _In_ PDRIVER_OBJECT DriverObject, _In_ PDEVICE_OBJECT DeviceObject, _In_ INTERFACE_TYPE BusType, _In_ ULONG BusNumber, _In_ ULONG SlotNumber, _Inout_ PCM_RESOURCE_LIST *AllocatedResources)
Definition: haltypes.h:179
struct _HAL_ERROR_INFO * PHAL_ERROR_INFO
struct _CPE_DRIVER_INFO CPE_DRIVER_INFO
struct _HAL_BUS_INFORMATION * PHAL_BUS_INFORMATION
VOID(NTAPI * PDRIVER_CMC_EXCEPTION_CALLBACK)(_In_ PVOID Context, _In_ PCMC_EXCEPTION CmcLog)
Definition: haltypes.h:513
VOID(NTAPI * PHALMCAINTERFACELOCK)(VOID)
Definition: haltypes.h:396
NTSTATUS(NTAPI * pHalGetInterruptTranslator)(_In_ INTERFACE_TYPE ParentInterfaceType, _In_ ULONG ParentBusNumber, _In_ INTERFACE_TYPE BridgeInterfaceType, _In_ USHORT Size, _In_ USHORT Version, _Out_ PTRANSLATOR_INTERFACE Translator, _Out_ PULONG BridgeBusNumber)
Definition: haltypes.h:144
struct _HAL_CALLBACKS HAL_CALLBACKS
struct _HAL_ERROR_INFO HAL_ERROR_INFO
struct _CMC_DRIVER_INFO * PCMC_DRIVER_INFO
struct _HAL_CALLBACKS * PHAL_CALLBACKS
struct _HAL_PROFILE_SOURCE_INFORMATION HAL_PROFILE_SOURCE_INFORMATION
HAL_APIC_DESTINATION_MODE
Definition: haltypes.h:412
@ ApicDestinationModeLogicalFlat
Definition: haltypes.h:414
@ ApicDestinationModePhysical
Definition: haltypes.h:413
@ ApicDestinationModeLogicalClustered
Definition: haltypes.h:415
@ ApicDestinationModeUnknown
Definition: haltypes.h:416
enum HAL_APIC_DESTINATION_MODE * PHAL_APIC_DESTINATION_MODE
struct _MAP_REGISTER_ENTRY * PMAP_REGISTER_ENTRY
struct _HAL_PROFILE_SOURCE_INFORMATION * PHAL_PROFILE_SOURCE_INFORMATION
NTSTATUS(NTAPI * pHalQueryBusSlots)(_In_ PBUS_HANDLER BusHandler, _In_ ULONG BufferSize, _Out_ PULONG SlotNumbers, _Out_ PULONG ReturnedLength)
Definition: haltypes.h:117
_In_ ULONG Rows
Definition: haltypes.h:17
BOOLEAN(NTAPI * pHalTranslateBusAddress)(_In_ INTERFACE_TYPE InterfaceType, _In_ ULONG BusNumber, _In_ PHYSICAL_ADDRESS BusAddress, _Inout_ PULONG AddressSpace, _Out_ PPHYSICAL_ADDRESS TranslatedAddress)
Definition: haltypes.h:171
PDRIVER_EXCPTN_CALLBACK PDRIVER_MCA_EXCEPTION_CALLBACK
Definition: haltypes.h:462
struct _PM_DISPATCH_TABLE PM_DISPATCH_TABLE
PVOID(NTAPI * pHalGetAcpiTable)(_In_ ULONG Signature, _In_opt_ PCSTR OemId, _In_opt_ PCSTR OemTableId)
Definition: haltypes.h:216
NTSTATUS(FASTCALL * pHalIoWritePartitionTable)(_In_ PDEVICE_OBJECT DeviceObject, _In_ ULONG SectorSize, _In_ ULONG SectorsPerTrack, _In_ ULONG NumberOfHeads, _In_ struct _DRIVE_LAYOUT_INFORMATION *PartitionBuffer)
Definition: haltypes.h:109
NTSTATUS(NTAPI * PHALIOREADWRITEHANDLER)(_In_ BOOLEAN fRead, _In_ ULONG dwAddr, _In_ ULONG dwSize, _Inout_ PULONG pdwData)
Definition: haltypes.h:382
struct _HAL_AMLI_BAD_IO_ADDRESS_LIST HAL_AMLI_BAD_IO_ADDRESS_LIST
enum _HAL_SET_INFORMATION_CLASS * PHAL_SET_INFORMATION_CLASS
PBUS_HANDLER(FASTCALL * pHalHandlerForBus)(_In_ INTERFACE_TYPE InterfaceType, _In_ ULONG BusNumber)
Definition: haltypes.h:20
VOID(NTAPI * pHalSetPciErrorHandlerCallback)(_In_ PCI_ERROR_HANDLER_CALLBACK Callback)
Definition: haltypes.h:237
NTSTATUS(NTAPI * pHalMirrorVerify)(_In_ PHYSICAL_ADDRESS PhysicalAddress, _In_ LARGE_INTEGER NumberOfBytes)
Definition: haltypes.h:166
VOID(NTAPI * PDRIVER_CPE_EXCEPTION_CALLBACK)(_In_ PVOID Context, _In_ PCPE_EXCEPTION CmcLog)
Definition: haltypes.h:518
$if(_WDMDDK_) typedef NTSTATUS NTAPI PROCESSOR_HALT_ROUTINE(_Inout_opt_ PVOID Context)
Definition: ke.h:1
NTSTATUS(FASTCALL * pHalIoReadPartitionTable)(_In_ PDEVICE_OBJECT DeviceObject, _In_ ULONG SectorSize, _In_ BOOLEAN ReturnRecognizedPartitions, _Out_ struct _DRIVE_LAYOUT_INFORMATION **PartitionBuffer)
Definition: haltypes.h:95
struct _HAL_PROFILE_SOURCE_INTERVAL HAL_PROFILE_SOURCE_INTERVAL
struct _MCA_DRIVER_INFO * PMCA_DRIVER_INFO
BOOLEAN(NTAPI * pHalResetDisplay)(VOID)
Definition: haltypes.h:193
struct _DMA_ADAPTER *NTAPI * pHalGetDmaAdapter(_In_ PVOID Context, _In_ struct _DEVICE_DESCRIPTION *DeviceDescriptor, _Out_ PULONG NumberOfMapRegisters)
Definition: haltypes.h:138
VOID(FASTCALL * pHalExamineMBR)(_In_ PDEVICE_OBJECT DeviceObject, _In_ ULONG SectorSize, _In_ ULONG MBRTypeIdentifier, _Out_ PVOID *Buffer)
Definition: haltypes.h:88
UCHAR(NTAPI * pHalVectorToIDTEntry)(ULONG Vector)
Definition: haltypes.h:201
NTSTATUS(NTAPI * pHalMirrorPhysicalMemory)(_In_ PHYSICAL_ADDRESS PhysicalAddress, _In_ LARGE_INTEGER NumberOfBytes)
Definition: haltypes.h:161
NTSTATUS(NTAPI * pHalStartMirroring)(VOID)
Definition: haltypes.h:154
NTSTATUS(NTAPI * PHALMCAINTERFACEREADREGISTER)(_In_ UCHAR BankNumber, _Inout_ PVOID Exception)
Definition: haltypes.h:402
enum _HAL_SET_INFORMATION_CLASS HAL_SET_INFORMATION_CLASS
struct _HAL_MCA_INTERFACE HAL_MCA_INTERFACE
struct _HAL_PROFILE_SOURCE_INFORMATION_EX * PHAL_PROFILE_SOURCE_INFORMATION_EX
struct _HAL_PROFILE_SOURCE_INTERVAL * PHAL_PROFILE_SOURCE_INTERVAL
NTSTATUS(NTAPI * pHalSetSystemInformation)(_In_ HAL_SET_INFORMATION_CLASS InformationClass, _In_ ULONG BufferSize, _In_ PVOID Buffer)
Definition: haltypes.h:82
NTSTATUS(NTAPI * pHalEndMirroring)(_In_ ULONG PassNumber)
Definition: haltypes.h:157
struct _CPE_DRIVER_INFO * PCPE_DRIVER_INFO
struct _MAP_REGISTER_ENTRY MAP_REGISTER_ENTRY
enum _HAL_QUERY_INFORMATION_CLASS HAL_QUERY_INFORMATION_CLASS
HAL_DISPATCH HalDispatchTable
Definition: halstub.c:47
struct _HAL_PLATFORM_INFORMATION * PHAL_PLATFORM_INFORMATION
VOID(FASTCALL * pHalIoAssignDriveLetters)(_In_ struct _LOADER_PARAMETER_BLOCK *LoaderBlock, _In_ PSTRING NtDeviceName, _Out_ PUCHAR NtSystemPath, _Out_ PSTRING NtSystemPathString)
Definition: haltypes.h:242
$endif(_WDMDDK_) $if(_NTDDK_) typedef BOOLEAN(NTAPI *PHAL_RESET_DISPLAY_PARAMETERS)(_In_ ULONG Columns
Definition: ke.h:202
struct _HAL_BUS_INFORMATION HAL_BUS_INFORMATION
VOID(NTAPI * pHalEndOfBoot)(VOID)
Definition: haltypes.h:213
_HAL_SET_INFORMATION_CLASS
Definition: haltypes.h:58
@ HalProfileSourceTimerHandler
Definition: haltypes.h:69
@ HalMcaRegisterDriver
Definition: haltypes.h:61
@ HalMcaLog
Definition: haltypes.h:65
@ HalProfileSourceInterval
Definition: haltypes.h:59
@ HalEnlightenment
Definition: haltypes.h:70
@ HalKernelErrorHandler
Definition: haltypes.h:62
@ HalProfileDpgoSourceInterruptHandler
Definition: haltypes.h:71
@ HalCmcRegisterDriver
Definition: haltypes.h:63
@ HalGenerateCmcInterrupt
Definition: haltypes.h:68
@ HalCmcLog
Definition: haltypes.h:66
@ HalCpeLog
Definition: haltypes.h:67
@ HalProfileSourceInterruptHandler
Definition: haltypes.h:60
@ HalCpeRegisterDriver
Definition: haltypes.h:64
struct _HAL_PROCESSOR_FEATURE HAL_PROCESSOR_FEATURE
struct _CMC_DRIVER_INFO CMC_DRIVER_INFO
NTSTATUS(NTAPI * pHalInitPnpDriver)(VOID)
Definition: haltypes.h:124
struct _HAL_POWER_INFORMATION HAL_POWER_INFORMATION
_HAL_DISPLAY_BIOS_INFORMATION
Definition: haltypes.h:358
@ HalDisplayNoBios
Definition: haltypes.h:361
@ HalDisplayEmulatedBios
Definition: haltypes.h:360
@ HalDisplayInt10Bios
Definition: haltypes.h:359
VOID(NTAPI * pHalHaltSystem)(VOID)
Definition: haltypes.h:190
struct _HAL_PROCESSOR_SPEED_INFO * PHAL_PROCESSOR_SPEED_INFORMATION
VOID(FASTCALL * pHalReferenceBusHandler)(_In_ PBUS_HANDLER BusHandler)
Definition: haltypes.h:25
_HAL_QUERY_INFORMATION_CLASS
Definition: haltypes.h:28
@ HalCallbackInformation
Definition: haltypes.h:34
@ HalProcessorSpeedInformation
Definition: haltypes.h:33
@ HalProfileSourceInformation
Definition: haltypes.h:30
@ HalPlatformInformation
Definition: haltypes.h:48
@ HalProcessorBrandString
Definition: haltypes.h:52
@ HalInitLogInformation
Definition: haltypes.h:50
@ HalMapRegisterInformation
Definition: haltypes.h:35
@ HalMcaLogInformation
Definition: haltypes.h:36
@ HalDisplayBiosInformation
Definition: haltypes.h:38
@ HalFrequencyInformation
Definition: haltypes.h:51
@ HalQueryMcaInterface
Definition: haltypes.h:44
@ HalPartitionIpiInterface
Definition: haltypes.h:47
@ HalInformationClassUnused1
Definition: haltypes.h:31
@ HalHypervisorInformation
Definition: haltypes.h:53
@ HalAcpiAuditInformation
Definition: haltypes.h:55
@ HalNumaTopologyInterface
Definition: haltypes.h:40
@ HalQueryMaxHotPlugMemoryAddress
Definition: haltypes.h:46
@ HalPlatformTimerInformation
Definition: haltypes.h:54
@ HalPowerInformation
Definition: haltypes.h:32
@ HalQueryProfileSourceList
Definition: haltypes.h:49
@ HalErrorInformation
Definition: haltypes.h:41
@ HalQueryAMLIIllegalIOPortAddresses
Definition: haltypes.h:45
@ HalFrameBufferCachingInformation
Definition: haltypes.h:37
@ HalCmcLogInformation
Definition: haltypes.h:42
@ HalProcessorFeatureInformation
Definition: haltypes.h:39
@ HalInstalledBusInformation
Definition: haltypes.h:29
@ HalCpeLogInformation
Definition: haltypes.h:43
struct HAL_DISPATCH * PHAL_DISPATCH
struct _MCA_DRIVER_INFO MCA_DRIVER_INFO
enum _HAL_DISPLAY_BIOS_INFORMATION HAL_DISPLAY_BIOS_INFORMATION
struct _HAL_POWER_INFORMATION * PHAL_POWER_INFORMATION
struct _HAL_AMLI_BAD_IO_ADDRESS_LIST * PHAL_AMLI_BAD_IO_ADDRESS_LIST
PROCESSOR_HALT_ROUTINE * PPROCESSOR_HALT_ROUTINE
Definition: haltypes.h:10
struct _HAL_PLATFORM_INFORMATION HAL_PLATFORM_INFORMATION
VOID(NTAPI * PHALMCAINTERFACEUNLOCK)(VOID)
Definition: haltypes.h:399
VOID(NTAPI * PCI_ERROR_HANDLER_CALLBACK)(VOID)
Definition: haltypes.h:234
struct _HAL_PROFILE_SOURCE_LIST HAL_PROFILE_SOURCE_LIST
struct _HAL_PROFILE_SOURCE_LIST * PHAL_PROFILE_SOURCE_LIST
NTSTATUS(NTAPI * pHalInitPowerManagement)(_In_ PPM_DISPATCH_TABLE PmDriverDispatchTable, _Out_ PPM_DISPATCH_TABLE *PmHalDispatchTable)
Definition: haltypes.h:133
BOOLEAN(NTAPI * pHalFindBusAddressTranslation)(_In_ PHYSICAL_ADDRESS BusAddress, _Inout_ PULONG AddressSpace, _Out_ PPHYSICAL_ADDRESS TranslatedAddress, _Inout_ PULONG_PTR Context, _In_ BOOLEAN NextBus)
Definition: haltypes.h:205
_In_ ULONG _In_ ULONG _In_ ULONG NumberOfHeads
Definition: iofuncs.h:2072
_In_ ULONG _In_ PHYSICAL_ADDRESS BusAddress
Definition: iofuncs.h:2273
_In_ ULONG _In_ PHYSICAL_ADDRESS _Inout_ PULONG _Out_ PPHYSICAL_ADDRESS TranslatedAddress
Definition: iofuncs.h:2275
_In_ ULONG _In_ PHYSICAL_ADDRESS _Inout_ PULONG AddressSpace
Definition: iofuncs.h:2274
_In_ ULONG _In_ BOOLEAN ReturnRecognizedPartitions
Definition: iofuncs.h:2051
_In_ ULONG _In_ ULONG SectorsPerTrack
Definition: iofuncs.h:2071
_In_ ULONG _In_ BOOLEAN _Out_ struct _DRIVE_LAYOUT_INFORMATION ** PartitionBuffer
Definition: iofuncs.h:2052
_In_ ULONG _In_ ULONG PartitionNumber
Definition: iofuncs.h:2061
_Must_inspect_result_ typedef _In_ PHYSICAL_ADDRESS PhysicalAddress
Definition: iotypes.h:1098
_Must_inspect_result_ typedef _In_ PHYSICAL_ADDRESS _Inout_ PLARGE_INTEGER NumberOfBytes
Definition: iotypes.h:1036
KDEFERRED_ROUTINE * PKDEFERRED_ROUTINE
Definition: ketypes.h:742
unsigned char UCHAR
Definition: xmlstorage.h:181