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

ntoskrnl.c
Go to the documentation of this file.
00001 #include <ntoskrnl.h>
00002 
00003 /* For KeStallExecutionProcessor */
00004 #if defined(_M_IX86) || defined(_M_AMD64)
00005 #include <arch/pc/pcbios.h>
00006 #endif
00007 
00008 VOID
00009 NTAPI
00010 KeInitializeEvent(
00011     IN PRKEVENT Event,
00012     IN EVENT_TYPE Type,
00013     IN BOOLEAN State)
00014 {
00015 }
00016 
00017 VOID
00018 FASTCALL
00019 KiAcquireSpinLock(
00020     IN PKSPIN_LOCK SpinLock)
00021 {
00022 }
00023 
00024 VOID
00025 FASTCALL
00026 KiReleaseSpinLock(
00027     IN PKSPIN_LOCK SpinLock)
00028 {
00029 }
00030 
00031 VOID
00032 NTAPI
00033 KeSetTimeIncrement(
00034     IN ULONG MaxIncrement,
00035     IN ULONG MinIncrement)
00036 {
00037 }
00038 
00039 NTKERNELAPI
00040 VOID
00041 FASTCALL
00042 IoAssignDriveLetters(
00043     IN struct _LOADER_PARAMETER_BLOCK *LoaderBlock,
00044     IN PSTRING NtDeviceName,
00045     OUT PUCHAR NtSystemPath,
00046     OUT PSTRING NtSystemPathString)
00047 {
00048 }
00049 
00050 NTKERNELAPI
00051 NTSTATUS
00052 FASTCALL
00053 IoSetPartitionInformation(
00054     IN PDEVICE_OBJECT DeviceObject,
00055     IN ULONG SectorSize,
00056     IN ULONG PartitionNumber,
00057     IN ULONG PartitionType)
00058 {
00059     return STATUS_NOT_IMPLEMENTED;
00060 }
00061 
00062 NTKERNELAPI
00063 NTSTATUS
00064 FASTCALL
00065 IoWritePartitionTable(
00066     IN PDEVICE_OBJECT DeviceObject,
00067     IN ULONG SectorSize,
00068     IN ULONG SectorsPerTrack,
00069     IN ULONG NumberOfHeads,
00070     IN struct _DRIVE_LAYOUT_INFORMATION *PartitionBuffer)
00071 {
00072     return STATUS_NOT_IMPLEMENTED;
00073 }
00074 
00075 NTHALAPI
00076 VOID
00077 NTAPI
00078 KeStallExecutionProcessor(
00079     IN ULONG MicroSeconds)
00080 {
00081 #if defined(_M_IX86) || defined(_M_AMD64)
00082     REGS Regs;
00083     ULONG usec_this;
00084 
00085     // Int 15h AH=86h
00086     // BIOS - WAIT (AT,PS)
00087     //
00088     // AH = 86h
00089     // CX:DX = interval in microseconds
00090     // Return:
00091     // CF clear if successful (wait interval elapsed)
00092     // CF set on error or AH=83h wait already in progress
00093     // AH = status (see #00496)
00094 
00095     // Note: The resolution of the wait period is 977 microseconds on
00096     // many systems because many BIOSes use the 1/1024 second fast
00097     // interrupt from the AT real-time clock chip which is available on INT 70;
00098     // because newer BIOSes may have much more precise timers available, it is
00099     // not possible to use this function accurately for very short delays unless
00100     // the precise behavior of the BIOS is known (or found through testing)
00101 
00102     while (MicroSeconds)
00103     {
00104         usec_this = MicroSeconds;
00105 
00106         if (usec_this > 4000000)
00107         {
00108             usec_this = 4000000;
00109         }
00110 
00111         Regs.b.ah = 0x86;
00112         Regs.w.cx = usec_this >> 16;
00113         Regs.w.dx = usec_this & 0xffff;
00114         Int386(0x15, &Regs, &Regs);
00115 
00116         MicroSeconds -= usec_this;
00117     }
00118 #else
00119     #error unimplemented
00120 #endif
00121 }

Generated on Sun May 27 2012 04:19:08 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.