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