Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenhalfuncs.h
Go to the documentation of this file.
00001 /*++ NDK Version: 0098 00002 00003 Copyright (c) Alex Ionescu. All rights reserved. 00004 00005 Header Name: 00006 00007 halfuncs.h 00008 00009 Abstract: 00010 00011 Function definitions for the HAL. 00012 00013 Author: 00014 00015 Alex Ionescu (alexi@tinykrnl.org) - Updated - 27-Feb-2006 00016 00017 --*/ 00018 00019 #ifndef _HALFUNCS_H 00020 #define _HALFUNCS_H 00021 00022 // 00023 // Dependencies 00024 // 00025 #include <umtypes.h> 00026 #include <haltypes.h> 00027 #include <ketypes.h> 00028 00029 #ifndef NTOS_MODE_USER 00030 00031 // 00032 // Private HAL Callbacks 00033 // 00034 #define HalHandlerForBus HALPRIVATEDISPATCH->HalHandlerForBus 00035 #define HalHandlerForConfigSpace HALPRIVATEDISPATCH->HalHandlerForConfigSpace 00036 #define HalLocateHiberRanges HALPRIVATEDISPATCH->HalLocateHiberRanges 00037 #define HalRegisterBusHandler HALPRIVATEDISPATCH->HalRegisterBusHandler 00038 #define HalSetWakeEnable HALPRIVATEDISPATCH->HalSetWakeEnable 00039 #define HalSetWakeAlarm HALPRIVATEDISPATCH->HalSetWakeAlarm 00040 #define HalPciTranslateBusAddress HALPRIVATEDISPATCH->HalPciTranslateBusAddress 00041 #define HalPciAssignSlotResources HALPRIVATEDISPATCH->HalPciAssignSlotResources 00042 #define HalHaltSystem HALPRIVATEDISPATCH->HalHaltSystem 00043 #define HalFindBusAddressTranslation HALPRIVATEDISPATCH->HalFindBusAddressTranslation 00044 #define HalResetDisplay HALPRIVATEDISPATCH->HalResetDisplay 00045 #define HalAllocateMapRegisters HALPRIVATEDISPATCH->HalAllocateMapRegisters 00046 #define KdSetupPciDeviceForDebugging HALPRIVATEDISPATCH->KdSetupPciDeviceForDebugging 00047 #define KdReleasePciDeviceforDebugging HALPRIVATEDISPATCH->KdReleasePciDeviceforDebugging 00048 #define KdGetAcpiTablePhase0 HALPRIVATEDISPATCH->KdGetAcpiTablePhase0 00049 #define KdCheckPowerButton HALPRIVATEDISPATCH->KdCheckPowerButton 00050 #define HalVectorToIDTEntry HALPRIVATEDISPATCH->HalVectorToIDTEntry 00051 #define KdMapPhysicalMemory64 HALPRIVATEDISPATCH->KdMapPhysicalMemory64 00052 #define KdUnmapVirtualAddress HALPRIVATEDISPATCH->KdUnmapVirtualAddress 00053 00054 // 00055 // The DDK steals these away from you. 00056 // 00057 #ifdef _MSC_VER 00058 void __cdecl _enable(void); 00059 void __cdecl _disable(void); 00060 #pragma intrinsic(_enable) 00061 #pragma intrinsic(_disable) 00062 #endif 00063 00064 // 00065 // Display Functions 00066 // 00067 NTHALAPI 00068 VOID 00069 NTAPI 00070 HalDisplayString( 00071 IN PCHAR String 00072 ); 00073 00074 // 00075 // Initialization Functions 00076 // 00077 NTHALAPI 00078 BOOLEAN 00079 NTAPI 00080 HalAllProcessorsStarted( 00081 VOID 00082 ); 00083 00084 #ifdef _ARC_ 00085 NTHALAPI 00086 VOID 00087 NTAPI 00088 HalInitializeProcessor( 00089 ULONG ProcessorNumber, 00090 struct _LOADER_PARAMETER_BLOCK *LoaderBlock 00091 ); 00092 00093 NTHALAPI 00094 BOOLEAN 00095 NTAPI 00096 HalInitSystem( 00097 ULONG BootPhase, 00098 struct _LOADER_PARAMETER_BLOCK *LoaderBlock 00099 ); 00100 00101 NTHALAPI 00102 BOOLEAN 00103 NTAPI 00104 HalStartNextProcessor( 00105 IN struct _LOADER_PARAMETER_BLOCK *LoaderBlock, 00106 IN PKPROCESSOR_STATE ProcessorState 00107 ); 00108 00109 #endif 00110 00111 NTHALAPI 00112 VOID 00113 NTAPI 00114 HalReturnToFirmware( 00115 FIRMWARE_REENTRY Action 00116 ); 00117 00118 // 00119 // CPU Routines 00120 // 00121 NTHALAPI 00122 VOID 00123 NTAPI 00124 HalProcessorIdle( 00125 VOID 00126 ); 00127 00128 // 00129 // Interrupt Functions 00130 // 00131 NTHALAPI 00132 BOOLEAN 00133 NTAPI 00134 HalBeginSystemInterrupt( 00135 KIRQL Irql, 00136 ULONG Vector, 00137 PKIRQL OldIrql 00138 ); 00139 00140 VOID 00141 FASTCALL 00142 HalClearSoftwareInterrupt( 00143 IN KIRQL Request 00144 ); 00145 00146 NTHALAPI 00147 VOID 00148 NTAPI 00149 HalDisableSystemInterrupt( 00150 ULONG Vector, 00151 KIRQL Irql 00152 ); 00153 00154 NTHALAPI 00155 BOOLEAN 00156 NTAPI 00157 HalEnableSystemInterrupt( 00158 ULONG Vector, 00159 KIRQL Irql, 00160 KINTERRUPT_MODE InterruptMode 00161 ); 00162 00163 NTHALAPI 00164 VOID 00165 NTAPI 00166 HalEndSystemInterrupt( 00167 KIRQL Irql, 00168 IN PKTRAP_FRAME TrapFrame 00169 ); 00170 00171 #ifdef _ARM_ // FIXME: ndk/arm? armddk.h? 00172 ULONG 00173 HalGetInterruptSource( 00174 VOID 00175 ); 00176 #endif 00177 00178 NTHALAPI 00179 VOID 00180 NTAPI 00181 HalReportResourceUsage( 00182 VOID 00183 ); 00184 00185 NTHALAPI 00186 VOID 00187 FASTCALL 00188 HalRequestSoftwareInterrupt( 00189 KIRQL SoftwareInterruptRequested 00190 ); 00191 00192 NTHALAPI 00193 VOID 00194 NTAPI 00195 HalRequestIpi( 00196 KAFFINITY TargetSet 00197 ); 00198 00199 NTHALAPI 00200 VOID 00201 NTAPI 00202 HalHandleNMI( 00203 PVOID NmiInfo 00204 ); 00205 00206 NTHALAPI 00207 UCHAR 00208 FASTCALL 00209 HalSystemVectorDispatchEntry( 00210 IN ULONG Vector, 00211 OUT PKINTERRUPT_ROUTINE **FlatDispatch, 00212 OUT PKINTERRUPT_ROUTINE *NoConnection 00213 ); 00214 00215 // 00216 // Bus Functions 00217 // 00218 NTHALAPI 00219 NTSTATUS 00220 NTAPI 00221 HalAdjustResourceList( 00222 IN OUT PIO_RESOURCE_REQUIREMENTS_LIST *pResourceList 00223 ); 00224 00225 // 00226 // Environment Functions 00227 // 00228 #ifdef _ARC_ 00229 NTHALAPI 00230 ARC_STATUS 00231 NTAPI 00232 HalSetEnvironmentVariable( 00233 IN PCH Name, 00234 IN PCH Value 00235 ); 00236 00237 NTHALAPI 00238 ARC_STATUS 00239 NTAPI 00240 HalGetEnvironmentVariable( 00241 IN PCH Variable, 00242 IN USHORT Length, 00243 OUT PCH Buffer 00244 ); 00245 #endif 00246 00247 // 00248 // Profiling Functions 00249 // 00250 VOID 00251 NTAPI 00252 HalStartProfileInterrupt( 00253 IN KPROFILE_SOURCE ProfileSource 00254 ); 00255 00256 NTHALAPI 00257 VOID 00258 NTAPI 00259 HalStopProfileInterrupt( 00260 IN KPROFILE_SOURCE ProfileSource 00261 ); 00262 00263 NTHALAPI 00264 ULONG_PTR 00265 NTAPI 00266 HalSetProfileInterval( 00267 IN ULONG_PTR Interval 00268 ); 00269 00270 // 00271 // Time Functions 00272 // 00273 NTHALAPI 00274 BOOLEAN 00275 NTAPI 00276 HalQueryRealTimeClock( 00277 IN PTIME_FIELDS RtcTime 00278 ); 00279 00280 NTHALAPI 00281 BOOLEAN 00282 NTAPI 00283 HalSetRealTimeClock( 00284 IN PTIME_FIELDS RtcTime 00285 ); 00286 00287 NTHALAPI 00288 ULONG 00289 NTAPI 00290 HalSetTimeIncrement( 00291 IN ULONG Increment 00292 ); 00293 00294 #endif 00295 #endif Generated on Sun May 27 2012 04:30:50 for ReactOS by
1.7.6.1
|