1 #ifndef __INCLUDE_DDK_HALFUNCS_H
2 #define __INCLUDE_DDK_HALFUNCS_H
6 HalAcquireDisplayOwnership(IN PHAL_RESET_DISPLAY_PARAMETERS ResetDisplayParameters);
9 HalAdjustResourceList(PCM_RESOURCE_LIST Resources);
12 HalAllocateAdapterChannel(IN PADAPTER_OBJECT AdapterObject,
13 IN PDEVICE_OBJECT DeviceObject,
14 IN ULONG NumberOfMapRegisters,
15 IN PDRIVER_CONTROL ExecutionRoutine,
19 HalAllocateCommonBuffer(PADAPTER_OBJECT AdapterObject,
21 PPHYSICAL_ADDRESS LogicalAddress,
22 BOOLEAN CacheEnabled);
25 HalAllocateCrashDumpRegisters(IN PADAPTER_OBJECT AdapterObject,
26 IN OUT PULONG NumberOfMapRegisters);
29 HalAllProcessorsStarted(VOID);
32 HalAssignSlotResources(
33 PUNICODE_STRING RegistryPath,
34 PUNICODE_STRING DriverClassName,
35 PDRIVER_OBJECT DriverObject,
36 PDEVICE_OBJECT DeviceObject,
37 INTERFACE_TYPE BusType,
40 PCM_RESOURCE_LIST *AllocatedResources
44 HalBeginSystemInterrupt(ULONG Vector,
49 HalCalibratePerformanceCounter(ULONG Count);
53 HalClearSoftwareInterrupt
57 HalDisableSystemInterrupt(ULONG Vector,
61 HalDisplayString(IN PCH String);
64 HalEnableSystemInterrupt(ULONG Vector,
69 HalEndSystemInterrupt(KIRQL Irql,
74 * HalExamineMBR() is not exported explicitly.
75 * It is exported by the HalDispatchTable.
78 * HalExamineMBR(PDEVICE_OBJECT DeviceObject,
80 * ULONG MBRTypeIdentifier,
85 HalFlushCommonBuffer(ULONG Unknown1,
95 HalFreeCommonBuffer(PADAPTER_OBJECT AdapterObject,
97 PHYSICAL_ADDRESS LogicalAddress,
99 BOOLEAN CacheEnabled);
101 PADAPTER_OBJECT STDCALL
102 HalGetAdapter(PDEVICE_DESCRIPTION DeviceDescription,
103 PULONG NumberOfMapRegisters);
106 HalGetBusData(BUS_DATA_TYPE BusDataType,
113 HalGetBusDataByOffset(BUS_DATA_TYPE BusDataType,
120 /* Is this function really exported ?? */
122 HalGetDmaAlignmentRequirement(VOID);
125 HalGetEnvironmentVariable(IN PCH Name,
127 IN USHORT ValueLength);
130 HalGetInterruptVector(INTERFACE_TYPE InterfaceType,
132 ULONG BusInterruptLevel,
133 ULONG BusInterruptVector,
135 PKAFFINITY Affinity);
138 HalInitializeProcessor(ULONG ProcessorNumber,
139 PVOID ProcessorStack);
142 HalInitSystem(ULONG BootPhase,
143 PLOADER_PARAMETER_BLOCK LoaderBlock);
146 HalMakeBeep(ULONG Frequency);
149 HalQueryDisplayParameters(PULONG DispSizeX,
155 HalQueryRealTimeClock(PTIME_FIELDS Time);
158 * HalQuerySystemInformation() is not exported explicitly.
159 * It is exported by the HalDispatchTable.
162 * HalQuerySystemInformation(VOID);
166 HalReadDmaCounter(PADAPTER_OBJECT AdapterObject);
169 HalReportResourceUsage(VOID);
172 HalRequestIpi(ULONG Unknown);
176 HalRequestSoftwareInterrupt
180 HalReturnToFirmware(ULONG Action);
183 HalSetBusData(BUS_DATA_TYPE BusDataType,
190 HalSetBusDataByOffset(BUS_DATA_TYPE BusDataType,
198 HalSetDisplayParameters(ULONG CursorPosX,
202 HalSetEnvironmentVariable(IN PCH Name,
206 HalSetProfileInterval
210 HalSetRealTimeClock(PTIME_FIELDS Time);
217 HalStartNextProcessor(ULONG Unknown1,
221 HalStartProfileInterrupt
225 HalStopProfileInterrupt
229 HalSystemVectorDispatchEntry(ULONG Unknown1,
234 HalTranslateBusAddress(INTERFACE_TYPE InterfaceType,
236 PHYSICAL_ADDRESS BusAddress,
238 PPHYSICAL_ADDRESS TranslatedAddress);
242 * Kernel debugger support functions
246 KdPortInitialize(PKD_PORT_INFORMATION PortInformation,
251 KdPortGetByte(PUCHAR ByteRecieved);
254 KdPortPollByte(PUCHAR ByteRecieved);
257 KdPortPutByte(UCHAR ByteToSend);
265 READ_PORT_BUFFER_UCHAR(PUCHAR Port,
270 READ_PORT_BUFFER_ULONG(PULONG Port,
275 READ_PORT_BUFFER_USHORT(PUSHORT Port,
280 READ_PORT_UCHAR(PUCHAR Port);
283 READ_PORT_ULONG(PULONG Port);
286 READ_PORT_USHORT(PUSHORT Port);
289 WRITE_PORT_BUFFER_UCHAR(PUCHAR Port,
294 WRITE_PORT_BUFFER_ULONG(PULONG Port,
299 WRITE_PORT_BUFFER_USHORT(PUSHORT Port,
304 WRITE_PORT_UCHAR(PUCHAR Port,
308 WRITE_PORT_ULONG(PULONG Port,
312 WRITE_PORT_USHORT(PUSHORT Port,
315 #endif /* __INCLUDE_DDK_HALDDK_H */