update for HEAD-2003091401
[reactos.git] / include / ddk / halfuncs.h
1 #ifndef __INCLUDE_DDK_HALFUNCS_H
2 #define __INCLUDE_DDK_HALFUNCS_H
3 /* $Id$ */
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 NTOSAPI
104 DDKAPI
105 */
106
107 ULONG STDCALL
108 HalGetDmaAlignmentRequirement( 
109   VOID);
110
111                            
112 BOOLEAN STDCALL
113 HalGetEnvironmentVariable(IN PCH Name,
114                           OUT PCH Value,
115                           IN USHORT ValueLength);
116
117 ULONG STDCALL
118 HalGetInterruptVector(INTERFACE_TYPE InterfaceType,
119                       ULONG BusNumber,
120                       ULONG BusInterruptLevel,
121                       ULONG BusInterruptVector,
122                       PKIRQL Irql,
123                       PKAFFINITY Affinity);
124
125 BOOLEAN STDCALL
126 HalMakeBeep(ULONG Frequency);
127
128 VOID STDCALL
129 HalQueryDisplayParameters(PULONG DispSizeX,
130                           PULONG DispSizeY,
131                           PULONG CursorPosX,
132                           PULONG CursorPosY);
133
134 VOID STDCALL
135 HalQueryRealTimeClock(PTIME_FIELDS Time);
136
137 /*
138  * HalQuerySystemInformation() is not exported explicitly.
139  * It is exported by the HalDispatchTable.
140  *
141  * VOID
142  * HalQuerySystemInformation(VOID);
143  */
144
145 ULONG STDCALL
146 HalReadDmaCounter(PADAPTER_OBJECT AdapterObject);
147
148 VOID STDCALL
149 HalRequestIpi(ULONG Unknown);
150
151 /*
152 FASTCALL
153 HalRequestSoftwareInterrupt
154 */
155
156 ULONG STDCALL
157 HalSetBusData(BUS_DATA_TYPE BusDataType,
158               ULONG BusNumber,
159               ULONG SlotNumber,
160               PVOID Buffer,
161               ULONG Length);
162
163 ULONG STDCALL
164 HalSetBusDataByOffset(BUS_DATA_TYPE BusDataType,
165                       ULONG BusNumber,
166                       ULONG SlotNumber,
167                       PVOID Buffer,
168                       ULONG Offset,
169                       ULONG Length);
170
171 VOID STDCALL
172 HalSetDisplayParameters(ULONG CursorPosX,
173                         ULONG CursorPosY);
174
175 BOOLEAN STDCALL
176 HalSetEnvironmentVariable(IN PCH Name,
177                           IN PCH Value);
178
179 /*
180 HalSetProfileInterval
181 */
182
183 VOID STDCALL
184 HalSetRealTimeClock(PTIME_FIELDS Time);
185
186 /*
187 HalSetTimeIncrement
188 */
189
190 BOOLEAN STDCALL
191 HalStartNextProcessor(ULONG Unknown1,
192                       ULONG Unknown2);
193
194 /*
195 HalStartProfileInterrupt
196 */
197
198 /*
199 HalStopProfileInterrupt
200 */
201
202 ULONG FASTCALL
203 HalSystemVectorDispatchEntry(ULONG Unknown1,
204                              ULONG Unknown2,
205                              ULONG Unknown3);
206
207 BOOLEAN STDCALL
208 HalTranslateBusAddress(INTERFACE_TYPE InterfaceType,
209                        ULONG BusNumber,
210                        PHYSICAL_ADDRESS BusAddress,
211                        PULONG AddressSpace,
212                        PPHYSICAL_ADDRESS TranslatedAddress);
213
214
215 /*
216  * Kernel debugger support functions
217  */
218
219 BOOLEAN STDCALL
220 KdPortInitialize(PKD_PORT_INFORMATION PortInformation,
221                  DWORD Unknown1,
222                  DWORD Unknown2);
223
224 BOOLEAN STDCALL
225 KdPortGetByte(PUCHAR ByteRecieved);
226
227 BOOLEAN STDCALL
228 KdPortPollByte(PUCHAR ByteRecieved);
229
230 VOID STDCALL
231 KdPortPutByte(UCHAR ByteToSend);
232
233
234 /*
235  * Port I/O functions
236  */
237
238 VOID STDCALL
239 READ_PORT_BUFFER_UCHAR(PUCHAR Port,
240                        PUCHAR Value,
241                        ULONG Count);
242
243 VOID STDCALL
244 READ_PORT_BUFFER_ULONG(PULONG Port,
245                        PULONG Value,
246                        ULONG Count);
247
248 VOID STDCALL
249 READ_PORT_BUFFER_USHORT(PUSHORT Port,
250                         PUSHORT Value,
251                         ULONG Count);
252
253 UCHAR STDCALL
254 READ_PORT_UCHAR(PUCHAR Port);
255
256 ULONG STDCALL
257 READ_PORT_ULONG(PULONG Port);
258
259 USHORT STDCALL
260 READ_PORT_USHORT(PUSHORT Port);
261
262 VOID STDCALL
263 WRITE_PORT_BUFFER_UCHAR(PUCHAR Port,
264                         PUCHAR Value,
265                         ULONG Count);
266
267 VOID STDCALL
268 WRITE_PORT_BUFFER_ULONG(PULONG Port,
269                         PULONG Value,
270                         ULONG Count);
271
272 VOID STDCALL
273 WRITE_PORT_BUFFER_USHORT(PUSHORT Port,
274                          PUSHORT Value,
275                          ULONG Count);
276
277 VOID STDCALL
278 WRITE_PORT_UCHAR(PUCHAR Port,
279                  UCHAR Value);
280
281 VOID STDCALL
282 WRITE_PORT_ULONG(PULONG Port,
283                  ULONG Value);
284
285 VOID STDCALL
286 WRITE_PORT_USHORT(PUSHORT Port,
287                   USHORT Value);
288
289 #endif /* __INCLUDE_DDK_HALDDK_H */
290
291 /* EOF */