Changes to support the 3Com 3c90x ndis5 driver and other bugfixes:
[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.12 2003/10/20 06:03:29 vizzini Exp $ */
4
5 #include <ntos/haltypes.h>
6 #include <ddk/iotypes.h>
7
8 VOID STDCALL
9 HalAcquireDisplayOwnership(IN PHAL_RESET_DISPLAY_PARAMETERS ResetDisplayParameters);
10
11 NTSTATUS STDCALL
12 HalAdjustResourceList(PCM_RESOURCE_LIST Resources);
13
14 NTSTATUS STDCALL
15 HalAllocateAdapterChannel(IN PADAPTER_OBJECT AdapterObject,
16 IN PWAIT_CONTEXT_BLOCK WaitContextBlock,
17 IN ULONG NumberOfMapRegisters,
18 IN PDRIVER_CONTROL ExecutionRoutine);
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 */