1 #ifndef __INCLUDE_DDK_HALFUNCS_H
2 #define __INCLUDE_DDK_HALFUNCS_H
3 /* $Id: halfuncs.h,v 1.12 2003/10/20 06:03:29 vizzini Exp $ */
5 #include <ntos/haltypes.h>
6 #include <ddk/iotypes.h>
9 HalAcquireDisplayOwnership(IN PHAL_RESET_DISPLAY_PARAMETERS ResetDisplayParameters
);
12 HalAdjustResourceList(PCM_RESOURCE_LIST Resources
);
15 HalAllocateAdapterChannel(IN PADAPTER_OBJECT AdapterObject
,
16 IN PWAIT_CONTEXT_BLOCK WaitContextBlock
,
17 IN ULONG NumberOfMapRegisters
,
18 IN PDRIVER_CONTROL ExecutionRoutine
);
21 HalAllocateCommonBuffer(PADAPTER_OBJECT AdapterObject
,
23 PPHYSICAL_ADDRESS LogicalAddress
,
24 BOOLEAN CacheEnabled
);
27 HalAllocateCrashDumpRegisters(IN PADAPTER_OBJECT AdapterObject
,
28 IN OUT PULONG NumberOfMapRegisters
);
31 HalAssignSlotResources(
32 PUNICODE_STRING RegistryPath
,
33 PUNICODE_STRING DriverClassName
,
34 PDRIVER_OBJECT DriverObject
,
35 PDEVICE_OBJECT DeviceObject
,
36 INTERFACE_TYPE BusType
,
39 PCM_RESOURCE_LIST
*AllocatedResources
43 HalCalibratePerformanceCounter(ULONG Count
);
47 HalClearSoftwareInterrupt
51 HalDisplayString(IN PCH String
);
54 * HalExamineMBR() is not exported explicitly.
55 * It is exported by the HalDispatchTable.
58 * HalExamineMBR(PDEVICE_OBJECT DeviceObject,
60 * ULONG MBRTypeIdentifier,
65 HalFlushCommonBuffer(ULONG Unknown1
,
75 HalFreeCommonBuffer(PADAPTER_OBJECT AdapterObject
,
77 PHYSICAL_ADDRESS LogicalAddress
,
79 BOOLEAN CacheEnabled
);
81 PADAPTER_OBJECT STDCALL
82 HalGetAdapter(PDEVICE_DESCRIPTION DeviceDescription
,
83 PULONG NumberOfMapRegisters
);
86 HalGetBusData(BUS_DATA_TYPE BusDataType
,
93 HalGetBusDataByOffset(BUS_DATA_TYPE BusDataType
,
100 /* Is this function really exported ??
102 HalGetDmaAlignmentRequirement(VOID);
108 HalGetDmaAlignmentRequirement(
113 HalGetEnvironmentVariable(IN PCH Name
,
115 IN USHORT ValueLength
);
118 HalGetInterruptVector(INTERFACE_TYPE InterfaceType
,
120 ULONG BusInterruptLevel
,
121 ULONG BusInterruptVector
,
123 PKAFFINITY Affinity
);
126 HalMakeBeep(ULONG Frequency
);
129 HalQueryDisplayParameters(PULONG DispSizeX
,
135 HalQueryRealTimeClock(PTIME_FIELDS Time
);
138 * HalQuerySystemInformation() is not exported explicitly.
139 * It is exported by the HalDispatchTable.
142 * HalQuerySystemInformation(VOID);
146 HalReadDmaCounter(PADAPTER_OBJECT AdapterObject
);
149 HalRequestIpi(ULONG Unknown
);
153 HalRequestSoftwareInterrupt
157 HalSetBusData(BUS_DATA_TYPE BusDataType
,
164 HalSetBusDataByOffset(BUS_DATA_TYPE BusDataType
,
172 HalSetDisplayParameters(ULONG CursorPosX
,
176 HalSetEnvironmentVariable(IN PCH Name
,
180 HalSetProfileInterval
184 HalSetRealTimeClock(PTIME_FIELDS Time
);
191 HalStartNextProcessor(ULONG Unknown1
,
195 HalStartProfileInterrupt
199 HalStopProfileInterrupt
203 HalSystemVectorDispatchEntry(ULONG Unknown1
,
208 HalTranslateBusAddress(INTERFACE_TYPE InterfaceType
,
210 PHYSICAL_ADDRESS BusAddress
,
212 PPHYSICAL_ADDRESS TranslatedAddress
);
216 * Kernel debugger support functions
220 KdPortInitialize(PKD_PORT_INFORMATION PortInformation
,
225 KdPortGetByte(PUCHAR ByteRecieved
);
228 KdPortPollByte(PUCHAR ByteRecieved
);
231 KdPortPutByte(UCHAR ByteToSend
);
239 READ_PORT_BUFFER_UCHAR(PUCHAR Port
,
244 READ_PORT_BUFFER_ULONG(PULONG Port
,
249 READ_PORT_BUFFER_USHORT(PUSHORT Port
,
254 READ_PORT_UCHAR(PUCHAR Port
);
257 READ_PORT_ULONG(PULONG Port
);
260 READ_PORT_USHORT(PUSHORT Port
);
263 WRITE_PORT_BUFFER_UCHAR(PUCHAR Port
,
268 WRITE_PORT_BUFFER_ULONG(PULONG Port
,
273 WRITE_PORT_BUFFER_USHORT(PUSHORT Port
,
278 WRITE_PORT_UCHAR(PUCHAR Port
,
282 WRITE_PORT_ULONG(PULONG Port
,
286 WRITE_PORT_USHORT(PUSHORT Port
,
289 #endif /* __INCLUDE_DDK_HALDDK_H */