ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

halfuncs.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 doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.