2003-07-12 Casper S. Hornstrup <chorns@users.sourceforge.net>
[reactos.git] / reactos / include / ddk / halfuncs.h
1 #ifndef __INCLUDE_DDK_HALFUNCS_H
2 #define __INCLUDE_DDK_HALFUNCS_H
3 /* $Id: halfuncs.h,v 1.8 2003/07/12 10:24:45 chorns Exp $ */
4
5 #include <ntos/haltypes.h>
6
7 VOID STDCALL
8 HalAcquireDisplayOwnership(IN PHAL_RESET_DISPLAY_PARAMETERS ResetDisplayParameters);
9
10 NTSTATUS STDCALL
11 HalAdjustResourceList(PCM_RESOURCE_LIST Resources);
12
13 NTSTATUS STDCALL
14 HalAllocateAdapterChannel(IN PADAPTER_OBJECT AdapterObject,
15 IN PDEVICE_OBJECT DeviceObject,
16 IN ULONG NumberOfMapRegisters,
17 IN PDRIVER_CONTROL ExecutionRoutine,
18 IN PVOID Context);
19
20 PVOID STDCALL
21 HalAllocateCommonBuffer(PADAPTER_OBJECT AdapterObject,
22 ULONG Length,
23 PPHYSICAL_ADDRESS LogicalAddress,
24 BOOLEAN CacheEnabled);
25
26 PVOID STDCALL
27 HalAllocateCrashDumpRegisters(IN PADAPTER_OBJECT AdapterObject,
28 IN OUT PULONG NumberOfMapRegisters);
29
30 NTSTATUS STDCALL
31 HalAssignSlotResources(
32 PUNICODE_STRING RegistryPath,
33 PUNICODE_STRING DriverClassName,
34 PDRIVER_OBJECT DriverObject,
35 PDEVICE_OBJECT DeviceObject,
36 INTERFACE_TYPE BusType,
37 ULONG BusNumber,
38 ULONG SlotNumber,
39 PCM_RESOURCE_LIST *AllocatedResources
40 );
41
42 VOID STDCALL
43 HalCalibratePerformanceCounter(ULONG Count);
44
45 /*
46 FASTCALL
47 HalClearSoftwareInterrupt
48 */
49
50 VOID STDCALL
51 HalDisplayString(IN PCH String);
52
53 /*
54 * HalExamineMBR() is not exported explicitly.
55 * It is exported by the HalDispatchTable.
56 *
57 * VOID
58 * HalExamineMBR(PDEVICE_OBJECT DeviceObject,
59 * ULONG SectorSize,
60 * ULONG MBRTypeIdentifier,
61 * PVOID Buffer);
62 */
63
64 BOOLEAN STDCALL
65 HalFlushCommonBuffer(ULONG Unknown1,
66 ULONG Unknown2,
67 ULONG Unknown3,
68 ULONG Unknown4,
69 ULONG Unknown5,
70 ULONG Unknown6,
71 ULONG Unknown7,
72 ULONG Unknown8);
73
74 VOID STDCALL
75 HalFreeCommonBuffer(PADAPTER_OBJECT AdapterObject,
76 ULONG Length,
77 PHYSICAL_ADDRESS LogicalAddress,
78 PVOID VirtualAddress,
79 BOOLEAN CacheEnabled);
80
81 PADAPTER_OBJECT STDCALL
82 HalGetAdapter(PDEVICE_DESCRIPTION DeviceDescription,
83 PULONG NumberOfMapRegisters);
84
85 ULONG STDCALL
86 HalGetBusData(BUS_DATA_TYPE BusDataType,
87 ULONG BusNumber,
88 ULONG SlotNumber,
89 PVOID Buffer,
90 ULONG Length);
91
92 ULONG STDCALL
93 HalGetBusDataByOffset(BUS_DATA_TYPE BusDataType,
94 ULONG BusNumber,
95 ULONG SlotNumber,
96 PVOID Buffer,
97 ULONG Offset,
98 ULONG Length);
99
100 /* Is this function really exported ?? */
101 ULONG
102 HalGetDmaAlignmentRequirement(VOID);
103
104 BOOLEAN STDCALL
105 HalGetEnvironmentVariable(IN PCH Name,
106 OUT PCH Value,
107 IN USHORT ValueLength);
108
109 ULONG STDCALL
110 HalGetInterruptVector(INTERFACE_TYPE InterfaceType,
111 ULONG BusNumber,
112 ULONG BusInterruptLevel,
113 ULONG BusInterruptVector,
114 PKIRQL Irql,
115 PKAFFINITY Affinity);
116
117 BOOLEAN STDCALL
118 HalMakeBeep(ULONG Frequency);
119
120 VOID STDCALL
121 HalQueryDisplayParameters(PULONG DispSizeX,
122 PULONG DispSizeY,
123 PULONG CursorPosX,
124 PULONG CursorPosY);
125
126 VOID STDCALL
127 HalQueryRealTimeClock(PTIME_FIELDS Time);
128
129 /*
130 * HalQuerySystemInformation() is not exported explicitly.
131 * It is exported by the HalDispatchTable.
132 *
133 * VOID
134 * HalQuerySystemInformation(VOID);
135 */
136
137 ULONG STDCALL
138 HalReadDmaCounter(PADAPTER_OBJECT AdapterObject);
139
140 VOID STDCALL
141 HalRequestIpi(ULONG Unknown);
142
143 /*
144 FASTCALL
145 HalRequestSoftwareInterrupt
146 */
147
148 ULONG STDCALL
149 HalSetBusData(BUS_DATA_TYPE BusDataType,
150 ULONG BusNumber,
151 ULONG SlotNumber,
152 PVOID Buffer,
153 ULONG Length);
154
155 ULONG STDCALL
156 HalSetBusDataByOffset(BUS_DATA_TYPE BusDataType,
157 ULONG BusNumber,
158 ULONG SlotNumber,
159 PVOID Buffer,
160 ULONG Offset,
161 ULONG Length);
162
163 VOID STDCALL
164 HalSetDisplayParameters(ULONG CursorPosX,
165 ULONG CursorPosY);
166
167 BOOLEAN STDCALL
168 HalSetEnvironmentVariable(IN PCH Name,
169 IN PCH Value);
170
171 /*
172 HalSetProfileInterval
173 */
174
175 VOID STDCALL
176 HalSetRealTimeClock(PTIME_FIELDS Time);
177
178 /*
179 HalSetTimeIncrement
180 */
181
182 BOOLEAN STDCALL
183 HalStartNextProcessor(ULONG Unknown1,
184 ULONG Unknown2);
185
186 /*
187 HalStartProfileInterrupt
188 */
189
190 /*
191 HalStopProfileInterrupt
192 */
193
194 ULONG FASTCALL
195 HalSystemVectorDispatchEntry(ULONG Unknown1,
196 ULONG Unknown2,
197 ULONG Unknown3);
198
199 BOOLEAN STDCALL
200 HalTranslateBusAddress(INTERFACE_TYPE InterfaceType,
201 ULONG BusNumber,
202 PHYSICAL_ADDRESS BusAddress,
203 PULONG AddressSpace,
204 PPHYSICAL_ADDRESS TranslatedAddress);
205
206
207 /*
208 * Kernel debugger support functions
209 */
210
211 BOOLEAN STDCALL
212 KdPortInitialize(PKD_PORT_INFORMATION PortInformation,
213 DWORD Unknown1,
214 DWORD Unknown2);
215
216 BOOLEAN STDCALL
217 KdPortGetByte(PUCHAR ByteRecieved);
218
219 BOOLEAN STDCALL
220 KdPortPollByte(PUCHAR ByteRecieved);
221
222 VOID STDCALL
223 KdPortPutByte(UCHAR ByteToSend);
224
225
226 /*
227 * Port I/O functions
228 */
229
230 VOID STDCALL
231 READ_PORT_BUFFER_UCHAR(PUCHAR Port,
232 PUCHAR Value,
233 ULONG Count);
234
235 VOID STDCALL
236 READ_PORT_BUFFER_ULONG(PULONG Port,
237 PULONG Value,
238 ULONG Count);
239
240 VOID STDCALL
241 READ_PORT_BUFFER_USHORT(PUSHORT Port,
242 PUSHORT Value,
243 ULONG Count);
244
245 UCHAR STDCALL
246 READ_PORT_UCHAR(PUCHAR Port);
247
248 ULONG STDCALL
249 READ_PORT_ULONG(PULONG Port);
250
251 USHORT STDCALL
252 READ_PORT_USHORT(PUSHORT Port);
253
254 VOID STDCALL
255 WRITE_PORT_BUFFER_UCHAR(PUCHAR Port,
256 PUCHAR Value,
257 ULONG Count);
258
259 VOID STDCALL
260 WRITE_PORT_BUFFER_ULONG(PULONG Port,
261 PULONG Value,
262 ULONG Count);
263
264 VOID STDCALL
265 WRITE_PORT_BUFFER_USHORT(PUSHORT Port,
266 PUSHORT Value,
267 ULONG Count);
268
269 VOID STDCALL
270 WRITE_PORT_UCHAR(PUCHAR Port,
271 UCHAR Value);
272
273 VOID STDCALL
274 WRITE_PORT_ULONG(PULONG Port,
275 ULONG Value);
276
277 VOID STDCALL
278 WRITE_PORT_USHORT(PUSHORT Port,
279 USHORT Value);
280
281 #endif /* __INCLUDE_DDK_HALDDK_H */
282
283 /* EOF */