ReactOS 0.4.16-dev-340-g0540c21
haltypes.h
Go to the documentation of this file.
1/* Hardware Abstraction Layer Types */
2
4typedef BOOLEAN
5(NTAPI *PHAL_RESET_DISPLAY_PARAMETERS)(
8
13
14typedef VOID
16 _In_ PBUS_HANDLER BusHandler);
17
47
63
64typedef NTSTATUS
70
71typedef NTSTATUS
76
77typedef VOID
83
84typedef NTSTATUS
90
91typedef NTSTATUS
97
98typedef NTSTATUS
105
106typedef NTSTATUS
108 _In_ PBUS_HANDLER BusHandler,
110 _Out_ PULONG SlotNumbers,
112
113typedef NTSTATUS
115
116typedef struct _PM_DISPATCH_TABLE {
121
122typedef NTSTATUS
124 _In_ PPM_DISPATCH_TABLE PmDriverDispatchTable,
125 _Out_ PPM_DISPATCH_TABLE *PmHalDispatchTable);
126
127typedef struct _DMA_ADAPTER*
132
133typedef NTSTATUS
135 _In_ INTERFACE_TYPE ParentInterfaceType,
136 _In_ ULONG ParentBusNumber,
137 _In_ INTERFACE_TYPE BridgeInterfaceType,
140 _Out_ PTRANSLATOR_INTERFACE Translator,
141 _Out_ PULONG BridgeBusNumber);
142
143typedef NTSTATUS
145
146typedef NTSTATUS
148 _In_ ULONG PassNumber);
149
150typedef NTSTATUS
154
155typedef NTSTATUS
159
160typedef BOOLEAN
167
168typedef NTSTATUS
178
179typedef VOID
181
182typedef BOOLEAN
184
185typedef struct _MAP_REGISTER_ENTRY {
189
190typedef UCHAR
192 ULONG Vector);
193
194typedef BOOLEAN
200 _In_ BOOLEAN NextBus);
201
202typedef VOID
204
205typedef PVOID
208 _In_opt_ PCSTR OemId,
209 _In_opt_ PCSTR OemTableId);
210
211#if defined(_IA64_)
212typedef NTSTATUS
213(*pHalGetErrorCapList)(
214 _Inout_ PULONG CapsListLength,
215 _Inout_updates_bytes_(*CapsListLength) PUCHAR ErrorCapList);
216
217typedef NTSTATUS
218(*pHalInjectError)(
221#endif
222
223typedef VOID
225
226typedef VOID
229
230#if 1 /* Not present in WDK 7600 */
231typedef VOID
233 _In_ struct _LOADER_PARAMETER_BLOCK *LoaderBlock,
234 _In_ PSTRING NtDeviceName,
235 _Out_ PUCHAR NtSystemPath,
236 _Out_ PSTRING NtSystemPathString);
237#endif
238
239typedef struct {
246#if 1 /* Not present in WDK 7600 */
248#endif
266#if defined(_IA64_)
267 pHalGetErrorCapList HalGetErrorCapList;
268 pHalInjectError HalInjectError;
269#endif
271
272#if !defined(_NTSYSTEM_) && (defined(_NTDRIVER_) || defined(_NTDDK_) || defined(_NTIFS_) || defined(_NTHAL_))
275#define HALDISPATCH HalDispatchTable
276#else
278#define HALDISPATCH (&HalDispatchTable)
279#endif
280
281// See Version table at:
282// https://www.geoffchappell.com/studies/windows/km/ntoskrnl/inc/ntos/hal/hal_dispatch.htm
283#if (NTDDI_VERSION < NTDDI_WIN2K)
284#define HAL_DISPATCH_VERSION 1
285#elif (NTDDI_VERSION < NTDDI_WINXP)
286#define HAL_DISPATCH_VERSION 2
287#elif (NTDDI_VERSION < NTDDI_WIN7)
288#define HAL_DISPATCH_VERSION 3
289#else
290#define HAL_DISPATCH_VERSION 4
291#endif
292
293#define HalDispatchTableVersion HALDISPATCH->Version
294#define HalQuerySystemInformation HALDISPATCH->HalQuerySystemInformation
295#define HalSetSystemInformation HALDISPATCH->HalSetSystemInformation
296#define HalQueryBusSlots HALDISPATCH->HalQueryBusSlots
297#define HalReferenceHandlerForBus HALDISPATCH->HalReferenceHandlerForBus
298#define HalReferenceBusHandler HALDISPATCH->HalReferenceBusHandler
299#define HalDereferenceBusHandler HALDISPATCH->HalDereferenceBusHandler
300#define HalInitPnpDriver HALDISPATCH->HalInitPnpDriver
301#define HalInitPowerManagement HALDISPATCH->HalInitPowerManagement
302#define HalGetDmaAdapter HALDISPATCH->HalGetDmaAdapter
303#define HalGetInterruptTranslator HALDISPATCH->HalGetInterruptTranslator
304#define HalStartMirroring HALDISPATCH->HalStartMirroring
305#define HalEndMirroring HALDISPATCH->HalEndMirroring
306#define HalMirrorPhysicalMemory HALDISPATCH->HalMirrorPhysicalMemory
307#define HalEndOfBoot HALDISPATCH->HalEndOfBoot
308#define HalMirrorVerify HALDISPATCH->HalMirrorVerify
309#define HalGetCachedAcpiTable HALDISPATCH->HalGetCachedAcpiTable
310#define HalSetPciErrorHandlerCallback HALDISPATCH->HalSetPciErrorHandlerCallback
311#if defined(_IA64_)
312#define HalGetErrorCapList HALDISPATCH->HalGetErrorCapList
313#define HalInjectError HALDISPATCH->HalInjectError
314#endif
315
316typedef struct _HAL_BUS_INFORMATION {
322
328
337
342
347
353
357
361
362typedef struct _HAL_CALLBACKS {
366
370
371typedef NTSTATUS
373 _In_ BOOLEAN fRead,
374 _In_ ULONG dwAddr,
376 _Inout_ PULONG pdwData);
377
384
385#if defined(_X86_) || defined(_IA64_) || defined(_AMD64_)
386
387typedef VOID
388(NTAPI *PHALMCAINTERFACELOCK)(VOID);
389
390typedef VOID
391(NTAPI *PHALMCAINTERFACEUNLOCK)(VOID);
392
393typedef NTSTATUS
394(NTAPI *PHALMCAINTERFACEREADREGISTER)(
395 _In_ UCHAR BankNumber,
396 _Inout_ PVOID Exception);
397
398typedef struct _HAL_MCA_INTERFACE {
399 PHALMCAINTERFACELOCK Lock;
400 PHALMCAINTERFACEUNLOCK Unlock;
401 PHALMCAINTERFACEREADREGISTER ReadRegister;
402} HAL_MCA_INTERFACE;
403
404typedef enum {
405 ApicDestinationModePhysical = 1,
406 ApicDestinationModeLogicalFlat,
407 ApicDestinationModeLogicalClustered,
408 ApicDestinationModeUnknown
409} HAL_APIC_DESTINATION_MODE, *PHAL_APIC_DESTINATION_MODE;
410
411#if defined(_AMD64_)
412
413struct _KTRAP_FRAME;
414struct _KEXCEPTION_FRAME;
415
416typedef ERROR_SEVERITY
417(NTAPI *PDRIVER_EXCPTN_CALLBACK)(
420 _In_ struct _KEXCEPTION_FRAME *ExceptionFrame,
421 _In_ PMCA_EXCEPTION Exception);
422
423#endif
424
425#if defined(_X86_) || defined(_IA64_)
426typedef
427#if defined(_IA64_)
428ERROR_SEVERITY
429#else
430VOID
431#endif
432(NTAPI *PDRIVER_EXCPTN_CALLBACK)(
434 _In_ PMCA_EXCEPTION BankLog);
435#endif
436
437typedef PDRIVER_EXCPTN_CALLBACK PDRIVER_MCA_EXCEPTION_CALLBACK;
438
439typedef struct _MCA_DRIVER_INFO {
440 PDRIVER_MCA_EXCEPTION_CALLBACK ExceptionCallback;
441 PKDEFERRED_ROUTINE DpcCallback;
443} MCA_DRIVER_INFO, *PMCA_DRIVER_INFO;
444
445typedef struct _HAL_ERROR_INFO {
447 ULONG InitMaxSize;
448 ULONG McaMaxSize;
449 ULONG McaPreviousEventsCount;
450 ULONG McaCorrectedEventsCount;
451 ULONG McaKernelDeliveryFails;
452 ULONG McaDriverDpcQueueFails;
453 ULONG McaReserved;
454 ULONG CmcMaxSize;
455 ULONG CmcPollingInterval;
456 ULONG CmcInterruptsCount;
457 ULONG CmcKernelDeliveryFails;
458 ULONG CmcDriverDpcQueueFails;
459 ULONG CmcGetStateFails;
460 ULONG CmcClearStateFails;
461 ULONG CmcReserved;
462 ULONGLONG CmcLogId;
463 ULONG CpeMaxSize;
464 ULONG CpePollingInterval;
465 ULONG CpeInterruptsCount;
466 ULONG CpeKernelDeliveryFails;
467 ULONG CpeDriverDpcQueueFails;
468 ULONG CpeGetStateFails;
469 ULONG CpeClearStateFails;
470 ULONG CpeInterruptSources;
471 ULONGLONG CpeLogId;
472 ULONGLONG KernelReserved[4];
473} HAL_ERROR_INFO, *PHAL_ERROR_INFO;
474
475#define HAL_MCE_INTERRUPTS_BASED ((ULONG)-1)
476#define HAL_MCE_DISABLED ((ULONG)0)
477
478#define HAL_CMC_INTERRUPTS_BASED HAL_MCE_INTERRUPTS_BASED
479#define HAL_CMC_DISABLED HAL_MCE_DISABLED
480
481#define HAL_CPE_INTERRUPTS_BASED HAL_MCE_INTERRUPTS_BASED
482#define HAL_CPE_DISABLED HAL_MCE_DISABLED
483
484#define HAL_MCA_INTERRUPTS_BASED HAL_MCE_INTERRUPTS_BASED
485#define HAL_MCA_DISABLED HAL_MCE_DISABLED
486
487typedef VOID
488(NTAPI *PDRIVER_CMC_EXCEPTION_CALLBACK)(
490 _In_ PCMC_EXCEPTION CmcLog);
491
492typedef VOID
493(NTAPI *PDRIVER_CPE_EXCEPTION_CALLBACK)(
495 _In_ PCPE_EXCEPTION CmcLog);
496
497typedef struct _CMC_DRIVER_INFO {
498 PDRIVER_CMC_EXCEPTION_CALLBACK ExceptionCallback;
499 PKDEFERRED_ROUTINE DpcCallback;
501} CMC_DRIVER_INFO, *PCMC_DRIVER_INFO;
502
503typedef struct _CPE_DRIVER_INFO {
504 PDRIVER_CPE_EXCEPTION_CALLBACK ExceptionCallback;
505 PKDEFERRED_ROUTINE DpcCallback;
507} CPE_DRIVER_INFO, *PCPE_DRIVER_INFO;
508
509#endif // defined(_X86_) || defined(_IA64_) || defined(_AMD64_)
510
511#if defined(_IA64_)
512
513typedef NTSTATUS
514(*HALSENDCROSSPARTITIONIPI)(
515 _In_ USHORT ProcessorID,
516 _In_ UCHAR HardwareVector);
517
518typedef NTSTATUS
519(*HALRESERVECROSSPARTITIONINTERRUPTVECTOR)(
523 _Out_ PUCHAR HardwareVector);
524
525typedef VOID
526(*HALFREECROSSPARTITIONINTERRUPTVECTOR)(
529
530typedef struct _HAL_CROSS_PARTITION_IPI_INTERFACE {
531 HALSENDCROSSPARTITIONIPI HalSendCrossPartitionIpi;
532 HALRESERVECROSSPARTITIONINTERRUPTVECTOR HalReserveCrossPartitionInterruptVector;
533 HALFREECROSSPARTITIONINTERRUPTVECTOR HalFreeCrossPartitionInterruptVector;
534} HAL_CROSS_PARTITION_IPI_INTERFACE;
535
536#define HAL_CROSS_PARTITION_IPI_INTERFACE_MINIMUM_SIZE \
537 FIELD_OFFSET(HAL_CROSS_PARTITION_IPI_INTERFACE, \
538 HalFreeCrossPartitionInterruptVector)
539
540#endif /* defined(_IA64_) */
541
545
546#define HAL_PLATFORM_DISABLE_WRITE_COMBINING 0x01L
547#define HAL_PLATFORM_DISABLE_PTCG 0x04L
548#define HAL_PLATFORM_DISABLE_UC_MAIN_MEMORY 0x08L
549#define HAL_PLATFORM_ENABLE_WRITE_COMBINING_MMIO 0x10L
550#define HAL_PLATFORM_ACPI_TABLES_CACHED 0x20L
551
unsigned char BOOLEAN
#define VOID
Definition: acefi.h:82
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
enum _INTERFACE_TYPE INTERFACE_TYPE
enum _KPROFILE_SOURCE KPROFILE_SOURCE
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
_In_ PNDIS_STRING _In_opt_ NDIS_HANDLE DeviceContext
Definition: ndis.h:5246
#define _In_reads_bytes_(s)
Definition: no_sal2.h:170
#define _Inout_
Definition: no_sal2.h:162
#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_
@ Unlock
Definition: ntsecapi.h:294
CHAR PartitionType
Definition: part_xbox.c:32
#define BOOLEAN
Definition: pedump.c:73
unsigned short USHORT
Definition: pedump.c:61
enum _BUS_DATA_TYPE BUS_DATA_TYPE
$endif(_WDMDDK_) $if(_NTDDK_) typedef struct _NEON128
Definition: ke.h:202
const KSDEVICE_DESCRIPTOR DeviceDescriptor
Definition: splitter.c:257
pHalEndOfBoot HalEndOfBoot
Definition: haltypes.h:262
pHalGetInterruptTranslator HalGetInterruptTranslator
Definition: haltypes.h:258
ULONG Spare1
Definition: haltypes.h:244
pHalIoWritePartitionTable HalIoWritePartitionTable
Definition: haltypes.h:251
pHalQueryBusSlots HalQueryBusSlots
Definition: haltypes.h:243
pHalIoAssignDriveLetters HalIoAssignDriveLetters
Definition: haltypes.h:247
pHalStartMirroring HalStartMirroring
Definition: haltypes.h:259
pHalSetPciErrorHandlerCallback HalSetPciErrorHandlerCallback
Definition: haltypes.h:265
pHalReferenceBusHandler HalReferenceBusHandler
Definition: haltypes.h:253
pHalHandlerForBus HalReferenceHandlerForBus
Definition: haltypes.h:252
pHalGetDmaAdapter HalGetDmaAdapter
Definition: haltypes.h:257
pHalIoReadPartitionTable HalIoReadPartitionTable
Definition: haltypes.h:249
pHalExamineMBR HalExamineMBR
Definition: haltypes.h:245
pHalReferenceBusHandler HalDereferenceBusHandler
Definition: haltypes.h:254
pHalIoSetPartitionInformation HalIoSetPartitionInformation
Definition: haltypes.h:250
pHalMirrorVerify HalMirrorVerify
Definition: haltypes.h:263
ULONG Version
Definition: haltypes.h:240
pHalSetSystemInformation HalSetSystemInformation
Definition: haltypes.h:242
pHalInitPnpDriver HalInitPnpDriver
Definition: haltypes.h:255
pHalGetAcpiTable HalGetCachedAcpiTable
Definition: haltypes.h:264
pHalInitPowerManagement HalInitPowerManagement
Definition: haltypes.h:256
pHalMirrorPhysicalMemory HalMirrorPhysicalMemory
Definition: haltypes.h:261
pHalEndMirroring HalEndMirroring
Definition: haltypes.h:260
pHalQuerySystemInformation HalQuerySystemInformation
Definition: haltypes.h:241
PHALIOREADWRITEHANDLER IOHandler
Definition: haltypes.h:382
INTERFACE_TYPE BusType
Definition: haltypes.h:317
BUS_DATA_TYPE ConfigurationType
Definition: haltypes.h:318
PCALLBACK_OBJECT SetSystemInformation
Definition: haltypes.h:363
PCALLBACK_OBJECT BusCheck
Definition: haltypes.h:364
KPROFILE_SOURCE Source
Definition: haltypes.h:339
KPROFILE_SOURCE Source
Definition: haltypes.h:344
UINT64 TrapFrame
Definition: ketypes.h:442
Definition: haltypes.h:185
PVOID MapRegister
Definition: haltypes.h:186
BOOLEAN WriteToDevice
Definition: haltypes.h:187
PVOID Function[1]
Definition: haltypes.h:119
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:2055
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
Definition: wdfdevice.h:4533
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ ULONG BufferLength
Definition: wdfdevice.h:3771
_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
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFWAITLOCK * Lock
Definition: wdfsync.h:127
#define __CREATE_NTOS_DATA_IMPORT_ALIAS(_Name)
_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:65
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:92
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:169
struct _HAL_BUS_INFORMATION * PHAL_BUS_INFORMATION
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:134
struct _HAL_CALLBACKS HAL_CALLBACKS
struct _HAL_CALLBACKS * PHAL_CALLBACKS
struct _HAL_PROFILE_SOURCE_INFORMATION HAL_PROFILE_SOURCE_INFORMATION
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:107
_In_ ULONG Rows
Definition: haltypes.h:7
BOOLEAN(NTAPI * pHalTranslateBusAddress)(_In_ INTERFACE_TYPE InterfaceType, _In_ ULONG BusNumber, _In_ PHYSICAL_ADDRESS BusAddress, _Inout_ PULONG AddressSpace, _Out_ PPHYSICAL_ADDRESS TranslatedAddress)
Definition: haltypes.h:161
struct _PM_DISPATCH_TABLE PM_DISPATCH_TABLE
PVOID(NTAPI * pHalGetAcpiTable)(_In_ ULONG Signature, _In_opt_ PCSTR OemId, _In_opt_ PCSTR OemTableId)
Definition: haltypes.h:206
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:99
NTSTATUS(NTAPI * PHALIOREADWRITEHANDLER)(_In_ BOOLEAN fRead, _In_ ULONG dwAddr, _In_ ULONG dwSize, _Inout_ PULONG pdwData)
Definition: haltypes.h:372
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:10
VOID(NTAPI * pHalSetPciErrorHandlerCallback)(_In_ PCI_ERROR_HANDLER_CALLBACK Callback)
Definition: haltypes.h:227
NTSTATUS(NTAPI * pHalMirrorVerify)(_In_ PHYSICAL_ADDRESS PhysicalAddress, _In_ LARGE_INTEGER NumberOfBytes)
Definition: haltypes.h:156
NTSTATUS(FASTCALL * pHalIoReadPartitionTable)(_In_ PDEVICE_OBJECT DeviceObject, _In_ ULONG SectorSize, _In_ BOOLEAN ReturnRecognizedPartitions, _Out_ struct _DRIVE_LAYOUT_INFORMATION **PartitionBuffer)
Definition: haltypes.h:85
struct _HAL_PROFILE_SOURCE_INTERVAL HAL_PROFILE_SOURCE_INTERVAL
BOOLEAN(NTAPI * pHalResetDisplay)(VOID)
Definition: haltypes.h:183
struct _DMA_ADAPTER *NTAPI * pHalGetDmaAdapter(_In_ PVOID Context, _In_ struct _DEVICE_DESCRIPTION *DeviceDescriptor, _Out_ PULONG NumberOfMapRegisters)
Definition: haltypes.h:128
$if(_NTDDK_) typedef BOOLEAN(NTAPI *PHAL_RESET_DISPLAY_PARAMETERS)(_In_ ULONG Columns
Definition: ke.h:180
VOID(FASTCALL * pHalExamineMBR)(_In_ PDEVICE_OBJECT DeviceObject, _In_ ULONG SectorSize, _In_ ULONG MBRTypeIdentifier, _Out_ PVOID *Buffer)
Definition: haltypes.h:78
UCHAR(NTAPI * pHalVectorToIDTEntry)(ULONG Vector)
Definition: haltypes.h:191
NTSTATUS(NTAPI * pHalMirrorPhysicalMemory)(_In_ PHYSICAL_ADDRESS PhysicalAddress, _In_ LARGE_INTEGER NumberOfBytes)
Definition: haltypes.h:151
NTSTATUS(NTAPI * pHalStartMirroring)(VOID)
Definition: haltypes.h:144
enum _HAL_SET_INFORMATION_CLASS HAL_SET_INFORMATION_CLASS
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:72
NTSTATUS(NTAPI * pHalEndMirroring)(_In_ ULONG PassNumber)
Definition: haltypes.h:147
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:232
struct _HAL_BUS_INFORMATION HAL_BUS_INFORMATION
VOID(NTAPI * pHalEndOfBoot)(VOID)
Definition: haltypes.h:203
_HAL_SET_INFORMATION_CLASS
Definition: haltypes.h:48
@ HalProfileSourceTimerHandler
Definition: haltypes.h:59
@ HalMcaRegisterDriver
Definition: haltypes.h:51
@ HalMcaLog
Definition: haltypes.h:55
@ HalProfileSourceInterval
Definition: haltypes.h:49
@ HalEnlightenment
Definition: haltypes.h:60
@ HalKernelErrorHandler
Definition: haltypes.h:52
@ HalProfileDpgoSourceInterruptHandler
Definition: haltypes.h:61
@ HalCmcRegisterDriver
Definition: haltypes.h:53
@ HalGenerateCmcInterrupt
Definition: haltypes.h:58
@ HalCmcLog
Definition: haltypes.h:56
@ HalCpeLog
Definition: haltypes.h:57
@ HalProfileSourceInterruptHandler
Definition: haltypes.h:50
@ HalCpeRegisterDriver
Definition: haltypes.h:54
struct _HAL_PROCESSOR_FEATURE HAL_PROCESSOR_FEATURE
NTSTATUS(NTAPI * pHalInitPnpDriver)(VOID)
Definition: haltypes.h:114
struct _HAL_POWER_INFORMATION HAL_POWER_INFORMATION
_HAL_DISPLAY_BIOS_INFORMATION
Definition: haltypes.h:348
@ HalDisplayNoBios
Definition: haltypes.h:351
@ HalDisplayEmulatedBios
Definition: haltypes.h:350
@ HalDisplayInt10Bios
Definition: haltypes.h:349
VOID(NTAPI * pHalHaltSystem)(VOID)
Definition: haltypes.h:180
struct _HAL_PROCESSOR_SPEED_INFO * PHAL_PROCESSOR_SPEED_INFORMATION
VOID(FASTCALL * pHalReferenceBusHandler)(_In_ PBUS_HANDLER BusHandler)
Definition: haltypes.h:15
_HAL_QUERY_INFORMATION_CLASS
Definition: haltypes.h:18
@ HalCallbackInformation
Definition: haltypes.h:24
@ HalProcessorSpeedInformation
Definition: haltypes.h:23
@ HalProfileSourceInformation
Definition: haltypes.h:20
@ HalPlatformInformation
Definition: haltypes.h:38
@ HalProcessorBrandString
Definition: haltypes.h:42
@ HalInitLogInformation
Definition: haltypes.h:40
@ HalMapRegisterInformation
Definition: haltypes.h:25
@ HalMcaLogInformation
Definition: haltypes.h:26
@ HalDisplayBiosInformation
Definition: haltypes.h:28
@ HalFrequencyInformation
Definition: haltypes.h:41
@ HalQueryMcaInterface
Definition: haltypes.h:34
@ HalPartitionIpiInterface
Definition: haltypes.h:37
@ HalInformationClassUnused1
Definition: haltypes.h:21
@ HalHypervisorInformation
Definition: haltypes.h:43
@ HalAcpiAuditInformation
Definition: haltypes.h:45
@ HalNumaTopologyInterface
Definition: haltypes.h:30
@ HalQueryMaxHotPlugMemoryAddress
Definition: haltypes.h:36
@ HalPlatformTimerInformation
Definition: haltypes.h:44
@ HalPowerInformation
Definition: haltypes.h:22
@ HalQueryProfileSourceList
Definition: haltypes.h:39
@ HalErrorInformation
Definition: haltypes.h:31
@ HalQueryAMLIIllegalIOPortAddresses
Definition: haltypes.h:35
@ HalFrameBufferCachingInformation
Definition: haltypes.h:27
@ HalCmcLogInformation
Definition: haltypes.h:32
@ HalProcessorFeatureInformation
Definition: haltypes.h:29
@ HalInstalledBusInformation
Definition: haltypes.h:19
@ HalCpeLogInformation
Definition: haltypes.h:33
struct HAL_DISPATCH * PHAL_DISPATCH
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
struct _HAL_PLATFORM_INFORMATION HAL_PLATFORM_INFORMATION
VOID(NTAPI * PCI_ERROR_HANDLER_CALLBACK)(VOID)
Definition: haltypes.h:224
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:123
BOOLEAN(NTAPI * pHalFindBusAddressTranslation)(_In_ PHYSICAL_ADDRESS BusAddress, _Inout_ PULONG AddressSpace, _Out_ PPHYSICAL_ADDRESS TranslatedAddress, _Inout_ PULONG_PTR Context, _In_ BOOLEAN NextBus)
Definition: haltypes.h:195
_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:690
unsigned char UCHAR
Definition: xmlstorage.h:181