Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

haldisp.h

Go to the documentation of this file.
00001 /*++ BUILD Version: 0001 00002 00003 Copyright (c) 1994 Microsoft Corporation 00004 00005 Module Name: 00006 00007 haldisp.h 00008 00009 Abstract: 00010 00011 This module contains the private structure definitions and APIs used by 00012 the NT haldisp 00013 00014 Author: 00015 00016 00017 Revision History: 00018 00019 00020 --*/ 00021 00022 #if defined(NO_LEGACY_DRIVERS) 00023 #define xHalIoAssignDriveLetters IoAssignDriveLetters 00024 #define xHalIoReadPartitionTable IoReadPartitionTable 00025 #define xHalIoSetPartitionInformation IoSetPartitionInformation 00026 #define xHalIoWritePartitionTable IoWritePartitionTable 00027 #endif // NO_LEGACY_DRIVERS 00028 00029 // 00030 // Strcuture definitions. 00031 // 00032 00033 typedef struct _ADAPTER_OBJECT { 00034 DMA_ADAPTER DmaAdapter; 00035 PADAPTER_OBJECT RealAdapterObject; 00036 }ADAPTER_OBJECT; 00037 00038 typedef struct _XHAL_WAIT_CONTEXT_BLOCK { 00039 PMDL Mdl; 00040 PVOID CurrentVa; 00041 ULONG Length; 00042 PADAPTER_OBJECT RealAdapterObject; 00043 PDRIVER_LIST_CONTROL DriverExecutionRoutine; 00044 PVOID DriverContext; 00045 PIRP CurrentIrp; 00046 ULONG MapRegisterLock; 00047 UCHAR WriteToDevice; 00048 UCHAR MdlCount; 00049 PVOID MapRegisterBase[]; 00050 } XHAL_WAIT_CONTEXT_BLOCK, *PXHAL_WAIT_CONTEXT_BLOCK; 00051 00052 // 00053 // Function prototypes 00054 // 00055 00056 NTSTATUS 00057 xHalQuerySystemInformation( 00058 IN HAL_QUERY_INFORMATION_CLASS InformationClass, 00059 IN ULONG BufferSize, 00060 OUT PVOID Buffer, 00061 OUT PULONG ReturnedLength 00062 ); 00063 00064 NTSTATUS 00065 xHalSetSystemInformation( 00066 IN HAL_SET_INFORMATION_CLASS InformationClass, 00067 IN ULONG BufferSize, 00068 OUT PVOID Buffer 00069 ); 00070 00071 NTSTATUS 00072 xHalQueryBusSlots( 00073 IN PBUS_HANDLER BusHandler, 00074 IN ULONG BufferSize, 00075 OUT PULONG SlotNumbers, 00076 OUT PULONG ReturnedLength 00077 ); 00078 00079 VOID 00080 xHalSetWakeEnable( 00081 IN BOOLEAN Enable 00082 ); 00083 00084 VOID 00085 xHalSetWakeAlarm( 00086 IN ULONGLONG WakeTime, 00087 IN PTIME_FIELDS WakeTimeFields 00088 ); 00089 00090 VOID 00091 xHalLocateHiberRanges( 00092 IN PVOID MemoryMap 00093 ); 00094 00095 NTSTATUS 00096 xHalRegisterBusHandler( 00097 IN INTERFACE_TYPE InterfaceType, 00098 IN BUS_DATA_TYPE ConfigurationSpace, 00099 IN ULONG BusNumber, 00100 IN INTERFACE_TYPE ParentBusType, 00101 IN ULONG ParentBusNumber, 00102 IN ULONG SizeofBusExtensionData, 00103 IN PINSTALL_BUS_HANDLER InstallBusHandlers, 00104 OUT PBUS_HANDLER *BusHandler 00105 ); 00106 00107 PBUS_HANDLER 00108 FASTCALL 00109 xHalHandlerForBus ( 00110 IN INTERFACE_TYPE InterfaceType, 00111 IN ULONG BusNumber 00112 ); 00113 00114 VOID 00115 FASTCALL 00116 xHalExamineMBR( 00117 IN PDEVICE_OBJECT DeviceObject, 00118 IN ULONG SectorSize, 00119 IN ULONG MBRTypeIdentifier, 00120 OUT PVOID *Buffer 00121 ); 00122 00123 VOID 00124 FASTCALL 00125 xHalIoAssignDriveLetters( 00126 IN struct _LOADER_PARAMETER_BLOCK *LoaderBlock, 00127 IN PSTRING NtDeviceName, 00128 OUT PUCHAR NtSystemPath, 00129 OUT PSTRING NtSystemPathString 00130 ); 00131 00132 NTSTATUS 00133 FASTCALL 00134 xHalIoReadPartitionTable( 00135 IN PDEVICE_OBJECT DeviceObject, 00136 IN ULONG SectorSize, 00137 IN BOOLEAN ReturnRecognizedPartitions, 00138 OUT struct _DRIVE_LAYOUT_INFORMATION **PartitionBuffer 00139 ); 00140 00141 NTSTATUS 00142 FASTCALL 00143 xHalIoSetPartitionInformation( 00144 IN PDEVICE_OBJECT DeviceObject, 00145 IN ULONG SectorSize, 00146 IN ULONG PartitionNumber, 00147 IN ULONG PartitionType 00148 ); 00149 00150 NTSTATUS 00151 FASTCALL 00152 xHalIoWritePartitionTable( 00153 IN PDEVICE_OBJECT DeviceObject, 00154 IN ULONG SectorSize, 00155 IN ULONG SectorsPerTrack, 00156 IN ULONG NumberOfHeads, 00157 IN struct _DRIVE_LAYOUT_INFORMATION *PartitionBuffer 00158 ); 00159 00160 00161 VOID 00162 FASTCALL 00163 xHalReferenceHandler ( 00164 IN PBUS_HANDLER Handler 00165 ); 00166 00167 NTSTATUS 00168 xHalInitPnpDriver( 00169 VOID 00170 ); 00171 00172 NTSTATUS 00173 xHalInitPowerManagement( 00174 IN PPM_DISPATCH_TABLE PmDriverDispatchTable, 00175 IN OUT PPM_DISPATCH_TABLE *PmHalDispatchTable 00176 ); 00177 00178 PDMA_ADAPTER 00179 xHalGetDmaAdapter ( 00180 IN PVOID Context, 00181 IN struct _DEVICE_DESCRIPTION *DeviceDescriptor, 00182 OUT PULONG NumberOfMapRegisters 00183 ); 00184 00185 VOID 00186 xHalPutDmaAdapter ( 00187 PDMA_ADAPTER DmaAdapter 00188 ); 00189 00190 PVOID 00191 xHalAllocateCommonBuffer ( 00192 IN PDMA_ADAPTER DmaAdapter, 00193 IN ULONG Length, 00194 OUT PPHYSICAL_ADDRESS LogicalAddress, 00195 IN BOOLEAN CacheEnabled 00196 ); 00197 00198 VOID 00199 xHalFreeCommonBuffer ( 00200 IN PDMA_ADAPTER DmaAdapter, 00201 IN ULONG Length, 00202 IN PHYSICAL_ADDRESS LogicalAddress, 00203 IN PVOID VirtualAddress, 00204 IN BOOLEAN CacheEnabled 00205 ); 00206 00207 NTSTATUS 00208 xHalAllocateAdapterChannel ( 00209 IN PDMA_ADAPTER DmaAdapter, 00210 IN PDEVICE_OBJECT DeviceObject, 00211 IN ULONG NumberOfMapRegisters, 00212 IN PDRIVER_CONTROL ExecutionRoutine, 00213 IN PVOID Context 00214 ); 00215 00216 BOOLEAN 00217 xHalFlushAdapterBuffers ( 00218 IN PDMA_ADAPTER DmaAdapter, 00219 IN PMDL Mdl, 00220 IN PVOID MapRegisterBase, 00221 IN PVOID CurrentVa, 00222 IN ULONG Length, 00223 IN BOOLEAN WriteToDevice 00224 ); 00225 00226 VOID 00227 xHalFreeAdapterChannel ( 00228 IN PDMA_ADAPTER DmaAdapter 00229 ); 00230 00231 VOID 00232 xHalFreeMapRegisters ( 00233 IN PDMA_ADAPTER DmaAdapter, 00234 PVOID MapRegisterBase, 00235 ULONG NumberOfMapRegisters 00236 ); 00237 00238 PHYSICAL_ADDRESS 00239 xHalMapTransfer ( 00240 IN PDMA_ADAPTER DmaAdapter, 00241 IN PMDL Mdl, 00242 IN PVOID MapRegisterBase, 00243 IN PVOID CurrentVa, 00244 IN OUT PULONG Length, 00245 IN BOOLEAN WriteToDevice 00246 ); 00247 00248 ULONG 00249 xHalGetDmaAlignment ( 00250 IN PDMA_ADAPTER DmaAdapter 00251 ); 00252 00253 ULONG 00254 xHalReadDmaCounter ( 00255 IN PDMA_ADAPTER DmaAdapter 00256 ); 00257 00258 NTSTATUS 00259 xHalGetScatterGatherList ( 00260 IN PDMA_ADAPTER DmaAdapter, 00261 IN PDEVICE_OBJECT DeviceObject, 00262 IN PMDL Mdl, 00263 IN PVOID CurrentVa, 00264 IN ULONG Length, 00265 IN PDRIVER_LIST_CONTROL ExecutionRoutine, 00266 IN PVOID Context, 00267 IN BOOLEAN WriteToDevice 00268 ); 00269 00270 00271 VOID 00272 xHalPutScatterGatherList ( 00273 IN PDMA_ADAPTER DmaAdapter, 00274 IN PSCATTER_GATHER_LIST ScatterGather, 00275 IN BOOLEAN WriteToDevice 00276 ); 00277 00278 IO_ALLOCATION_ACTION 00279 xHalpAllocateAdapterCallback ( 00280 IN struct _DEVICE_OBJECT *DeviceObject, 00281 IN struct _IRP *Irp, 00282 IN PVOID MapRegisterBase, 00283 IN PVOID Context 00284 ); 00285 00286 NTSTATUS 00287 xHalGetInterruptTranslator( 00288 IN INTERFACE_TYPE ParentInterfaceType, 00289 IN ULONG ParentBusNumber, 00290 IN INTERFACE_TYPE BridgeInterfaceType, 00291 IN USHORT Size, 00292 IN USHORT Version, 00293 OUT PTRANSLATOR_INTERFACE Translator, 00294 OUT PULONG BridgeBusNumber 00295 ); 00296 00297 BOOLEAN 00298 xHalTranslateBusAddress( 00299 IN INTERFACE_TYPE InterfaceType, 00300 IN ULONG BusNumber, 00301 IN PHYSICAL_ADDRESS BusAddress, 00302 IN OUT PULONG AddressSpace, 00303 OUT PPHYSICAL_ADDRESS TranslatedAddress 00304 ); 00305 00306 NTSTATUS 00307 xHalAssignSlotResources ( 00308 IN PUNICODE_STRING RegistryPath, 00309 IN PUNICODE_STRING DriverClassName OPTIONAL, 00310 IN PDRIVER_OBJECT DriverObject, 00311 IN PDEVICE_OBJECT DeviceObject OPTIONAL, 00312 IN INTERFACE_TYPE BusType, 00313 IN ULONG BusNumber, 00314 IN ULONG SlotNumber, 00315 IN OUT PCM_RESOURCE_LIST *AllocatedResources 00316 ); 00317 00318 VOID 00319 xHalHaltSystem( 00320 VOID 00321 ); 00322

Generated on Sat May 15 19:40:14 2004 for test by doxygen 1.3.7