:pserver:cvsanon@mok.lvcm.com:/CVS/ReactOS reactos
[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 /* Is this function really exported ?? */
74 VOID
75 HalExamineMBR(PDEVICE_OBJECT DeviceObject,
76               ULONG SectorSize,
77               ULONG MBRTypeIdentifier,
78               PVOID Buffer);
79
80 BOOLEAN STDCALL
81 HalFlushCommonBuffer(ULONG Unknown1,
82                      ULONG Unknown2,
83                      ULONG Unknown3,
84                      ULONG Unknown4,
85                      ULONG Unknown5,
86                      ULONG Unknown6,
87                      ULONG Unknown7,
88                      ULONG Unknown8);
89
90 VOID STDCALL
91 HalFreeCommonBuffer(PADAPTER_OBJECT AdapterObject,
92                     ULONG Length,
93                     PHYSICAL_ADDRESS LogicalAddress,
94                     PVOID VirtualAddress,
95                     BOOLEAN CacheEnabled);
96
97 PADAPTER_OBJECT STDCALL
98 HalGetAdapter(PDEVICE_DESCRIPTION DeviceDescription,
99               PULONG NumberOfMapRegisters);
100
101 ULONG STDCALL
102 HalGetBusData(BUS_DATA_TYPE BusDataType,
103               ULONG BusNumber,
104               ULONG SlotNumber,
105               PVOID Buffer,
106               ULONG Length);
107
108 ULONG STDCALL
109 HalGetBusDataByOffset(BUS_DATA_TYPE BusDataType,
110                       ULONG BusNumber,
111                       ULONG SlotNumber,
112                       PVOID Buffer,
113                       ULONG Offset,
114                       ULONG Length);
115
116 /* Is this function really exported ?? */
117 ULONG
118 HalGetDmaAlignmentRequirement(VOID);
119
120 BOOLEAN STDCALL
121 HalGetEnvironmentVariable(IN PCH Name,
122                           OUT PCH Value,
123                           IN USHORT ValueLength);
124
125 ULONG STDCALL
126 HalGetInterruptVector(INTERFACE_TYPE InterfaceType,
127                       ULONG BusNumber,
128                       ULONG BusInterruptLevel,
129                       ULONG BusInterruptVector,
130                       PKIRQL Irql,
131                       PKAFFINITY Affinity);
132
133 VOID STDCALL
134 HalInitializeProcessor(ULONG ProcessorNumber,
135                        PVOID ProcessorStack);
136
137 BOOLEAN STDCALL
138 HalInitSystem(ULONG BootPhase,
139               PLOADER_PARAMETER_BLOCK LoaderBlock);
140
141 BOOLEAN STDCALL
142 HalMakeBeep(ULONG Frequency);
143
144 VOID STDCALL
145 HalQueryDisplayParameters(PULONG DispSizeX,
146                           PULONG DispSizeY,
147                           PULONG CursorPosX,
148                           PULONG CursorPosY);
149
150 VOID STDCALL
151 HalQueryRealTimeClock(PTIME_FIELDS Time);
152
153 /* Is this function really exported ?? */
154 VOID
155 HalQuerySystemInformation(VOID);
156
157 ULONG STDCALL
158 HalReadDmaCounter(PADAPTER_OBJECT AdapterObject);
159
160 VOID STDCALL
161 HalReportResourceUsage(VOID);
162
163 VOID STDCALL
164 HalRequestIpi(ULONG Unknown);
165
166 /*
167 FASTCALL
168 HalRequestSoftwareInterrupt
169 */
170
171 VOID STDCALL
172 HalReturnToFirmware(ULONG Action);
173
174 ULONG STDCALL
175 HalSetBusData(BUS_DATA_TYPE BusDataType,
176               ULONG BusNumber,
177               ULONG SlotNumber,
178               PVOID Buffer,
179               ULONG Length);
180
181 ULONG STDCALL
182 HalSetBusDataByOffset(BUS_DATA_TYPE BusDataType,
183                       ULONG BusNumber,
184                       ULONG SlotNumber,
185                       PVOID Buffer,
186                       ULONG Offset,
187                       ULONG Length);
188
189 VOID STDCALL
190 HalSetDisplayParameters(ULONG CursorPosX,
191                         ULONG CursorPosY);
192
193 BOOLEAN STDCALL
194 HalSetEnvironmentVariable(IN PCH Name,
195                           IN PCH Value);
196
197 /*
198 HalSetProfileInterval
199 */
200
201 VOID STDCALL
202 HalSetRealTimeClock(PTIME_FIELDS Time);
203
204 /*
205 HalSetTimeIncrement
206 */
207
208 BOOLEAN STDCALL
209 HalStartNextProcessor(ULONG Unknown1,
210                       ULONG Unknown2);
211
212 /*
213 HalStartProfileInterrupt
214 */
215
216 /*
217 HalStopProfileInterrupt
218 */
219
220 ULONG FASTCALL
221 HalSystemVectorDispatchEntry(ULONG Unknown1,
222                              ULONG Unknown2,
223                              ULONG Unknown3);
224
225 BOOLEAN STDCALL
226 HalTranslateBusAddress(INTERFACE_TYPE InterfaceType,
227                        ULONG BusNumber,
228                        PHYSICAL_ADDRESS BusAddress,
229                        PULONG AddressSpace,
230                        PPHYSICAL_ADDRESS TranslatedAddress);
231
232
233 /*
234  * Kernel debugger support functions
235  */
236
237 BOOLEAN STDCALL
238 KdPortInitialize(PKD_PORT_INFORMATION PortInformation,
239                  DWORD Unknown1,
240                  DWORD Unknown2);
241
242 BOOLEAN STDCALL
243 KdPortGetByte(PUCHAR ByteRecieved);
244
245 BOOLEAN STDCALL
246 KdPortPollByte(PUCHAR ByteRecieved);
247
248 VOID STDCALL
249 KdPortPutByte(UCHAR ByteToSend);
250
251
252 /*
253  * Port I/O functions
254  */
255
256 VOID STDCALL
257 READ_PORT_BUFFER_UCHAR(PUCHAR Port,
258                        PUCHAR Value,
259                        ULONG Count);
260
261 VOID STDCALL
262 READ_PORT_BUFFER_ULONG(PULONG Port,
263                        PULONG Value,
264                        ULONG Count);
265
266 VOID STDCALL
267 READ_PORT_BUFFER_USHORT(PUSHORT Port,
268                         PUSHORT Value,
269                         ULONG Count);
270
271 UCHAR STDCALL
272 READ_PORT_UCHAR(PUCHAR Port);
273
274 ULONG STDCALL
275 READ_PORT_ULONG(PULONG Port);
276
277 USHORT STDCALL
278 READ_PORT_USHORT(PUSHORT Port);
279
280 VOID STDCALL
281 WRITE_PORT_BUFFER_UCHAR(PUCHAR Port,
282                         PUCHAR Value,
283                         ULONG Count);
284
285 VOID STDCALL
286 WRITE_PORT_BUFFER_ULONG(PULONG Port,
287                         PULONG Value,
288                         ULONG Count);
289
290 VOID STDCALL
291 WRITE_PORT_BUFFER_USHORT(PUSHORT Port,
292                          PUSHORT Value,
293                          ULONG Count);
294
295 VOID STDCALL
296 WRITE_PORT_UCHAR(PUCHAR Port,
297                  UCHAR Value);
298
299 VOID STDCALL
300 WRITE_PORT_ULONG(PULONG Port,
301                  ULONG Value);
302
303 VOID STDCALL
304 WRITE_PORT_USHORT(PUSHORT Port,
305                   USHORT Value);
306
307 #endif /* __INCLUDE_DDK_HALDDK_H */
308
309 /* EOF */