Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenketypes.h
Go to the documentation of this file.
00001 /*++ NDK Version: 0095 00002 00003 Copyright (c) Alex Ionescu. All rights reserved. 00004 00005 Header Name: 00006 00007 ketypes.h (PPC) 00008 00009 Abstract: 00010 00011 PowerPC Type definitions for the Kernel services. 00012 00013 Author: 00014 00015 Alex Ionescu (alex.ionescu@reactos.com) 06-Oct-2004 00016 00017 --*/ 00018 00019 #ifndef _POWERPC_KETYPES_H 00020 #define _POWERPC_KETYPES_H 00021 00022 // 00023 // Dependencies 00024 // 00025 00026 // 00027 // IPI Types 00028 // 00029 #define IPI_APC 1 00030 #define IPI_DPC 2 00031 #define IPI_FREEZE 3 00032 #define IPI_PACKET_READY 4 00033 #define IPI_SYNCH_REQUEST 10 00034 #define MAXIMUM_VECTOR 0x100 00035 00036 #define KSEG0_BASE 0x80000000 00037 00038 #define PRCB_MAJOR_VERSION 1 00039 #define PRCB_BUILD_DEBUG 1 00040 00041 #ifndef ROUND_UP 00042 #define ROUND_UP(x,y) (((x) + ((y)-1)) & ~((y)-1)) 00043 #endif 00044 00045 typedef double DOUBLE; 00046 00047 typedef struct _FX_SAVE_AREA { 00048 ULONG Fr[32]; 00049 } FX_SAVE_AREA, *PFX_SAVE_AREA; 00050 00051 typedef struct _FXSAVE_FORMAT 00052 { 00053 ULONG Xer,Fpscr; 00054 } FXSAVE_FORMAT, *PFXSAVE_FORMAT; 00055 00056 typedef struct _LDT_ENTRY { 00057 USHORT LimitLow; 00058 USHORT BaseLow; 00059 union 00060 { 00061 struct 00062 { 00063 UCHAR BaseMid; 00064 UCHAR Flags1; 00065 UCHAR Flags2; 00066 UCHAR BaseHi; 00067 } Bytes; 00068 struct 00069 { 00070 ULONG BaseMid : 8; 00071 ULONG Type : 5; 00072 ULONG Dpl : 2; 00073 ULONG Pres : 1; 00074 ULONG LimitHi : 4; 00075 ULONG Sys : 1; 00076 ULONG Reserved_0 : 1; 00077 ULONG Default_Big : 1; 00078 ULONG Granularity : 1; 00079 ULONG BaseHi : 8; 00080 } Bits; 00081 } HighWord; 00082 } LDT_ENTRY; 00083 00084 #ifndef CONFIG_SMP 00085 #define SYNCH_LEVEL DISPATCH_LEVEL 00086 #else 00087 #define SYNCH_LEVEL (IPI_LEVEL - 1) 00088 #endif 00089 00090 // 00091 // Trap Frame Definition 00092 // 00093 typedef struct _KTRAP_FRAME 00094 { 00095 PVOID TrapFrame; 00096 UCHAR OldIrql; 00097 UCHAR PreviousMode; 00098 UCHAR SavedApcStateIndex; 00099 UCHAR SavedKernelApcDisable; 00100 UCHAR ExceptionRecord[ROUND_UP(sizeof(EXCEPTION_RECORD), sizeof(ULONGLONG))]; 00101 ULONG FILL2; 00102 ULONG Gpr0; 00103 ULONG Gpr1; 00104 ULONG Gpr2; 00105 ULONG Gpr3; 00106 ULONG Gpr4; 00107 ULONG Gpr5; 00108 ULONG Gpr6; 00109 ULONG Gpr7; 00110 ULONG Gpr8; 00111 ULONG Gpr9; 00112 ULONG Gpr10; 00113 ULONG Gpr11; 00114 ULONG Gpr12; 00115 DOUBLE Fpr0; 00116 DOUBLE Fpr1; 00117 DOUBLE Fpr2; 00118 DOUBLE Fpr3; 00119 DOUBLE Fpr4; 00120 DOUBLE Fpr5; 00121 DOUBLE Fpr6; 00122 DOUBLE Fpr7; 00123 DOUBLE Fpr8; 00124 DOUBLE Fpr9; 00125 DOUBLE Fpr10; 00126 DOUBLE Fpr11; 00127 DOUBLE Fpr12; 00128 DOUBLE Fpr13; 00129 DOUBLE Fpscr; 00130 ULONG Cr; 00131 ULONG Xer; 00132 ULONG Msr; 00133 ULONG Iar; 00134 ULONG Lr; 00135 ULONG Ctr; 00136 ULONG Dr0; 00137 ULONG Dr1; 00138 ULONG Dr2; 00139 ULONG Dr3; 00140 ULONG Dr4; 00141 ULONG Dr5; 00142 ULONG Dr6; 00143 ULONG Dr7; 00144 } KTRAP_FRAME, *PKTRAP_FRAME; 00145 00146 // 00147 // GDT Entry Definition 00148 // 00149 typedef struct _KGDTENTRY 00150 { 00151 USHORT LimitLow; 00152 USHORT BaseLow; 00153 union 00154 { 00155 struct 00156 { 00157 UCHAR BaseMid; 00158 UCHAR Flags1; 00159 UCHAR Flags2; 00160 UCHAR BaseHi; 00161 } Bytes; 00162 struct 00163 { 00164 ULONG BaseMid:8; 00165 ULONG Type:5; 00166 ULONG Dpl:2; 00167 ULONG Pres:1; 00168 ULONG LimitHi:4; 00169 ULONG Sys:1; 00170 ULONG Reserved_0:1; 00171 ULONG Default_Big:1; 00172 ULONG Granularity:1; 00173 ULONG BaseHi:8; 00174 } Bits; 00175 } HighWord; 00176 } KGDTENTRY, *PKGDTENTRY; 00177 00178 // 00179 // IDT Entry Definition 00180 // 00181 typedef struct _KIDTENTRY 00182 { 00183 USHORT Offset; 00184 USHORT Selector; 00185 USHORT Access; 00186 USHORT ExtendedOffset; 00187 } KIDTENTRY, *PKIDTENTRY; 00188 00189 typedef struct _DESCRIPTOR 00190 { 00191 USHORT Pad; 00192 USHORT Limit; 00193 ULONG Base; 00194 } KDESCRIPTOR, *PKDESCRIPTOR; 00195 00196 // 00197 // Special Registers Structure (outside of CONTEXT) 00198 // 00199 typedef struct _KSPECIAL_REGISTERS 00200 { 00201 ULONG KernelDr0; 00202 ULONG KernelDr1; 00203 ULONG KernelDr2; 00204 ULONG KernelDr3; 00205 ULONG KernelDr4; 00206 ULONG KernelDr5; 00207 ULONG KernelDr6; 00208 ULONG KernelDr7; 00209 ULONG Sprg0; 00210 ULONG Sprg1; 00211 ULONG Sr0; 00212 ULONG Sr1; 00213 ULONG Sr2; 00214 ULONG Sr3; 00215 ULONG Sr4; 00216 ULONG Sr5; 00217 ULONG Sr6; 00218 ULONG Sr7; 00219 ULONG Sr8; 00220 ULONG Sr9; 00221 ULONG Sr10; 00222 ULONG Sr11; 00223 ULONG Sr12; 00224 ULONG Sr13; 00225 ULONG Sr14; 00226 ULONG Sr15; 00227 ULONG DBAT0L; 00228 ULONG DBAT0U; 00229 ULONG DBAT1L; 00230 ULONG DBAT1U; 00231 ULONG DBAT2L; 00232 ULONG DBAT2U; 00233 ULONG DBAT3L; 00234 ULONG DBAT3U; 00235 ULONG IBAT0L; 00236 ULONG IBAT0U; 00237 ULONG IBAT1L; 00238 ULONG IBAT1U; 00239 ULONG IBAT2L; 00240 ULONG IBAT2U; 00241 ULONG IBAT3L; 00242 ULONG IBAT3U; 00243 ULONG Sdr1; 00244 ULONG Reserved[9]; 00245 } KSPECIAL_REGISTERS, *PKSPECIAL_REGISTERS; 00246 00247 // 00248 // Processor State Data 00249 // 00250 #pragma pack(push,4) 00251 typedef struct _KPROCESSOR_STATE 00252 { 00253 CONTEXT ContextFrame; 00254 KSPECIAL_REGISTERS SpecialRegisters; 00255 } KPROCESSOR_STATE, *PKPROCESSOR_STATE; 00256 00257 // 00258 // Processor Region Control Block 00259 // 00260 typedef struct _KPRCB 00261 { 00262 USHORT MinorVersion; 00263 USHORT MajorVersion; 00264 struct _KTHREAD *CurrentThread; 00265 struct _KTHREAD *NextThread; 00266 struct _KTHREAD *IdleThread; 00267 UCHAR Number; 00268 UCHAR Reserved; 00269 USHORT BuildType; 00270 KAFFINITY SetMember; 00271 UCHAR CpuType; 00272 UCHAR CpuID; 00273 USHORT CpuStep; 00274 KPROCESSOR_STATE ProcessorState; 00275 ULONG KernelReserved[16]; 00276 ULONG HalReserved[16]; 00277 #if (NTDDI_VERSION >= NTDDI_LONGHORN) 00278 ULONG CFlushSize; 00279 UCHAR PrcbPad0[88]; 00280 #else 00281 UCHAR PrcbPad0[92]; 00282 #endif 00283 KSPIN_LOCK_QUEUE LockQueue[LockQueueMaximumLock]; 00284 struct _KTHREAD *NpxThread; 00285 ULONG InterruptCount; 00286 ULONG KernelTime; 00287 ULONG UserTime; 00288 ULONG DpcTime; 00289 ULONG DebugDpcTime; 00290 ULONG InterruptTime; 00291 ULONG AdjustDpcThreshold; 00292 ULONG PageColor; 00293 UCHAR SkipTick; 00294 UCHAR DebuggerSavedIRQL; 00295 #if (NTDDI_VERSION >= NTDDI_WS03) 00296 UCHAR NodeColor; 00297 #if (NTDDI_VERSION >= NTDDI_LONGHORN) 00298 UCHAR PollSlot; 00299 #else 00300 UCHAR Spare1; 00301 #endif 00302 ULONG NodeShiftedColor; 00303 #else 00304 UCHAR Spare1[6]; 00305 #endif 00306 struct _KNODE *ParentNode; 00307 ULONG MultiThreadProcessorSet; 00308 struct _KPRCB *MultiThreadSetMaster; 00309 #if (NTDDI_VERSION >= NTDDI_WS03) 00310 ULONG SecondaryColorMask; 00311 #if (NTDDI_VERSION >= NTDDI_LONGHORN) 00312 ULONG DpcTimeLimit; 00313 #else 00314 LONG Sleeping; 00315 #endif 00316 #else 00317 ULONG ThreadStartCount[2]; 00318 #endif 00319 ULONG CcFastReadNoWait; 00320 ULONG CcFastReadWait; 00321 ULONG CcFastReadNotPossible; 00322 ULONG CcCopyReadNoWait; 00323 ULONG CcCopyReadWait; 00324 ULONG CcCopyReadNoWaitMiss; 00325 #if (NTDDI_VERSION < NTDDI_LONGHORN) 00326 ULONG KeAlignmentFixupCount; 00327 #endif 00328 ULONG SpareCounter0; 00329 #if (NTDDI_VERSION < NTDDI_LONGHORN) 00330 ULONG KeDcacheFlushCount; 00331 ULONG KeExceptionDispatchCount; 00332 ULONG KeFirstLevelTbFills; 00333 ULONG KeFloatingEmulationCount; 00334 ULONG KeIcacheFlushCount; 00335 ULONG KeSecondLevelTbFills; 00336 ULONG KeSystemCalls; 00337 #endif 00338 volatile ULONG IoReadOperationCount; 00339 volatile ULONG IoWriteOperationCount; 00340 volatile ULONG IoOtherOperationCount; 00341 LARGE_INTEGER IoReadTransferCount; 00342 LARGE_INTEGER IoWriteTransferCount; 00343 LARGE_INTEGER IoOtherTransferCount; 00344 #if (NTDDI_VERSION >= NTDDI_LONGHORN) 00345 ULONG CcFastMdlReadNoWait; 00346 ULONG CcFastMdlReadWait; 00347 ULONG CcFastMdlReadNotPossible; 00348 ULONG CcMapDataNoWait; 00349 ULONG CcMapDataWait; 00350 ULONG CcPinMappedDataCount; 00351 ULONG CcPinReadNoWait; 00352 ULONG CcPinReadWait; 00353 ULONG CcMdlReadNoWait; 00354 ULONG CcMdlReadWait; 00355 ULONG CcLazyWriteHotSpots; 00356 ULONG CcLazyWriteIos; 00357 ULONG CcLazyWritePages; 00358 ULONG CcDataFlushes; 00359 ULONG CcDataPages; 00360 ULONG CcLostDelayedWrites; 00361 ULONG CcFastReadResourceMiss; 00362 ULONG CcCopyReadWaitMiss; 00363 ULONG CcFastMdlReadResourceMiss; 00364 ULONG CcMapDataNoWaitMiss; 00365 ULONG CcMapDataWaitMiss; 00366 ULONG CcPinReadNoWaitMiss; 00367 ULONG CcPinReadWaitMiss; 00368 ULONG CcMdlReadNoWaitMiss; 00369 ULONG CcMdlReadWaitMiss; 00370 ULONG CcReadAheadIos; 00371 ULONG KeAlignmentFixupCount; 00372 ULONG KeExceptionDispatchCount; 00373 ULONG KeSystemCalls; 00374 ULONG PrcbPad1[3]; 00375 #else 00376 ULONG SpareCounter1[8]; 00377 #endif 00378 PP_LOOKASIDE_LIST PPLookasideList[16]; 00379 PP_LOOKASIDE_LIST PPNPagedLookasideList[32]; 00380 PP_LOOKASIDE_LIST PPPagedLookasideList[32]; 00381 volatile ULONG PacketBarrier; 00382 volatile ULONG ReverseStall; 00383 PVOID IpiFrame; 00384 UCHAR PrcbPad2[52]; 00385 volatile PVOID CurrentPacket[3]; 00386 volatile ULONG TargetSet; 00387 volatile PKIPI_WORKER WorkerRoutine; 00388 volatile ULONG IpiFrozen; 00389 UCHAR PrcbPad3[40]; 00390 volatile ULONG RequestSummary; 00391 volatile struct _KPRCB *SignalDone; 00392 UCHAR PrcbPad4[56]; 00393 struct _KDPC_DATA DpcData[2]; 00394 PVOID DpcStack; 00395 ULONG MaximumDpcQueueDepth; 00396 ULONG DpcRequestRate; 00397 ULONG MinimumDpcRate; 00398 volatile UCHAR DpcInterruptRequested; 00399 volatile UCHAR DpcThreadRequested; 00400 volatile UCHAR DpcRoutineActive; 00401 volatile UCHAR DpcThreadActive; 00402 ULONG PrcbLock; 00403 ULONG DpcLastCount; 00404 volatile ULONG TimerHand; 00405 volatile ULONG TimerRequest; 00406 PVOID DpcThread; 00407 KEVENT DpcEvent; 00408 UCHAR ThreadDpcEnable; 00409 volatile BOOLEAN QuantumEnd; 00410 UCHAR PrcbPad50; 00411 volatile UCHAR IdleSchedule; 00412 LONG DpcSetEventRequest; 00413 #if (NTDDI_VERSION >= NTDDI_LONGHORN) 00414 LONG Sleeping; 00415 ULONG PeriodicCount; 00416 ULONG PeriodicBias; 00417 UCHAR PrcbPad5[6]; 00418 #else 00419 UCHAR PrcbPad5[18]; 00420 #endif 00421 LONG TickOffset; 00422 KDPC CallDpc; 00423 #if (NTDDI_VERSION >= NTDDI_LONGHORN) 00424 LONG ClockKeepAlive; 00425 UCHAR ClockCheckSlot; 00426 UCHAR ClockPollCycle; 00427 UCHAR PrcbPad6[2]; 00428 LONG DpcWatchdogPeriod; 00429 LONG DpcWatchDogCount; 00430 LONG ThreadWatchdogPeriod; 00431 LONG ThreadWatchDogCount; 00432 ULONG PrcbPad70[2]; 00433 #else 00434 ULONG PrcbPad7[8]; 00435 #endif 00436 LIST_ENTRY WaitListHead; 00437 ULONG ReadySummary; 00438 ULONG QueueIndex; 00439 #if (NTDDI_VERSION >= NTDDI_LONGHORN) 00440 SINGLE_LIST_ENTRY DeferredReadyListHead; 00441 ULONGLONG StartCycles; 00442 ULONGLONG CycleTime; 00443 ULONGLONG PrcbPad71[3]; 00444 LIST_ENTRY DispatcherReadyListHead[32]; 00445 #else 00446 LIST_ENTRY DispatcherReadyListHead[32]; 00447 SINGLE_LIST_ENTRY DeferredReadyListHead; 00448 ULONG PrcbPad72[11]; 00449 #endif 00450 PVOID ChainedInterruptList; 00451 LONG LookasideIrpFloat; 00452 volatile LONG MmPageFaultCount; 00453 volatile LONG MmCopyOnWriteCount; 00454 volatile LONG MmTransitionCount; 00455 volatile LONG MmCacheTransitionCount; 00456 volatile LONG MmDemandZeroCount; 00457 volatile LONG MmPageReadCount; 00458 volatile LONG MmPageReadIoCount; 00459 volatile LONG MmCacheReadCount; 00460 volatile LONG MmCacheIoCount; 00461 volatile LONG MmDirtyPagesWriteCount; 00462 volatile LONG MmDirtyWriteIoCount; 00463 volatile LONG MmMappedPagesWriteCount; 00464 volatile LONG MmMappedWriteIoCount; 00465 #if (NTDDI_VERSION >= NTDDI_LONGHORN) 00466 ULONG CachedCommit; 00467 ULONG CachedResidentAvailable; 00468 PVOID HyperPte; 00469 UCHAR CpuVendor; 00470 UCHAR PrcbPad9[3]; 00471 #else 00472 ULONG SpareFields0[1]; 00473 #endif 00474 CHAR VendorString[13]; 00475 UCHAR InitialApicId; 00476 UCHAR LogicalProcessorsPerPhysicalProcessor; 00477 ULONG MHz; 00478 ULONG FeatureBits; 00479 LARGE_INTEGER UpdateSignature; 00480 volatile LARGE_INTEGER IsrTime; 00481 LARGE_INTEGER SpareField1; 00482 FX_SAVE_AREA NpxSaveArea; 00483 PROCESSOR_POWER_STATE PowerState; 00484 #if (NTDDI_VERSION >= NTDDI_LONGHORN) 00485 KDPC DpcWatchdogDoc; 00486 KTIMER DpcWatchdogTimer; 00487 PVOID WheaInfo; 00488 PVOID EtwSupport; 00489 SLIST_HEADER InterruptObjectPool; 00490 LARGE_INTEGER HyperCallPagePhysical; 00491 LARGE_INTEGER HyperCallPageVirtual; 00492 PVOID RateControl; 00493 CACHE_DESCRIPTOR Cache[5]; 00494 ULONG CacheCount; 00495 ULONG CacheProcessorMask[5]; 00496 UCHAR LogicalProcessorsPerCore; 00497 UCHAR PrcbPad8[3]; 00498 ULONG PackageProcessorSet; 00499 ULONG CoreProcessorSet; 00500 #endif 00501 } KPRCB, *PKPRCB; 00502 00503 // 00504 // Processor Control Region 00505 // 00506 typedef struct _KIPCR 00507 { 00508 USHORT MinorVersion; 00509 USHORT MajorVersion; 00510 PKINTERRUPT_ROUTINE InterruptRoutine[MAXIMUM_VECTOR]; 00511 ULONG PcrPage2; 00512 ULONG Kseg0Top; 00513 ULONG Spare7[30]; 00514 ULONG FirstLevelDcacheSize; 00515 ULONG FirstLevelDcacheFillSize; 00516 ULONG FirstLevelIcacheSize; 00517 ULONG FirstLevelIcacheFillSize; 00518 ULONG SecondLevelDcacheSize; 00519 ULONG SecondLevelDcacheFillSize; 00520 ULONG SecondLevelIcacheSize; 00521 ULONG SecondLevelIcacheFillSize; 00522 struct _KPRCB *PrcbData; 00523 PVOID Teb; 00524 ULONG DcacheAlignment; 00525 ULONG DcacheFillSize; 00526 ULONG IcacheAlignment; 00527 ULONG IcacheFillSize; 00528 ULONG ProcessorVersion; 00529 ULONG ProcessorRevision; 00530 ULONG ProfileInterval; 00531 ULONG ProfileCount; 00532 ULONG StallExecutionCount; 00533 ULONG StallScaleFactor; 00534 ULONG Spare; 00535 union 00536 { 00537 ULONG CachePolicy; 00538 struct 00539 { 00540 UCHAR IcacheMode; 00541 UCHAR DcacheMode; 00542 USHORT ModeSpare; 00543 }; 00544 }; 00545 UCHAR IrqlMask[32]; 00546 UCHAR IrqlTable[9]; 00547 UCHAR CurrentIrql; 00548 CCHAR Number; 00549 KAFFINITY SetMember; 00550 ULONG ReservedVectors; 00551 struct _KTHREAD *CurrentThread; 00552 ULONG AlignedCachePolicy; 00553 union 00554 { 00555 ULONG SoftwareInterrupt; 00556 struct 00557 { 00558 UCHAR ApcInterrupt; 00559 UCHAR DispatchInterrupt; 00560 UCHAR Spare4; 00561 UCHAR Spare5; 00562 }; 00563 }; 00564 KAFFINITY NotMember; 00565 ULONG SystemReserved[16]; 00566 ULONG HalReserved[16]; 00567 ULONG FirstLevelActive; 00568 ULONG SystemServiceDispatchStart; 00569 ULONG SystemServiceDispatchEnd; 00570 ULONG InterruptStack; 00571 ULONG QuantumEnd; 00572 PVOID InitialStack; 00573 PVOID PanicStack; 00574 ULONG BadVaddr; 00575 PVOID StackLimit; 00576 PVOID SavedStackLimit; 00577 ULONG SavedV0; 00578 ULONG SavedV1; 00579 UCHAR DebugActive; 00580 UCHAR Spare6[3]; 00581 ULONG GprSave[6]; 00582 ULONG SiR0; 00583 ULONG SiR2; 00584 ULONG SiR3; 00585 ULONG SiR4; 00586 ULONG SiR5; 00587 ULONG Spare0; 00588 ULONG Spare8; 00589 ULONG PgDirRa; 00590 ULONG OnInterruptStack; 00591 ULONG SavedInitialStack; 00592 } KIPCR, *PKIPCR; 00593 #pragma pack(pop) 00594 00595 // 00596 // TSS Definition 00597 // 00598 typedef struct _KTSS { 00599 } KTSS, *PKTSS; 00600 00601 // 00602 // PowerPC Exception Frame 00603 // 00604 typedef struct _KEXCEPTION_FRAME 00605 { 00606 ULONG Fill1; 00607 ULONG Gpr13; 00608 ULONG Gpr14; 00609 ULONG Gpr15; 00610 ULONG Gpr16; 00611 ULONG Gpr17; 00612 ULONG Gpr18; 00613 ULONG Gpr19; 00614 ULONG Gpr20; 00615 ULONG Gpr21; 00616 ULONG Gpr22; 00617 ULONG Gpr23; 00618 ULONG Gpr24; 00619 ULONG Gpr25; 00620 ULONG Gpr26; 00621 ULONG Gpr27; 00622 ULONG Gpr28; 00623 ULONG Gpr29; 00624 ULONG Gpr30; 00625 ULONG Gpr31; 00626 DOUBLE Fpr14; 00627 DOUBLE Fpr15; 00628 DOUBLE Fpr16; 00629 DOUBLE Fpr17; 00630 DOUBLE Fpr18; 00631 DOUBLE Fpr19; 00632 DOUBLE Fpr20; 00633 DOUBLE Fpr21; 00634 DOUBLE Fpr22; 00635 DOUBLE Fpr23; 00636 DOUBLE Fpr24; 00637 DOUBLE Fpr25; 00638 DOUBLE Fpr26; 00639 DOUBLE Fpr27; 00640 DOUBLE Fpr28; 00641 DOUBLE Fpr29; 00642 DOUBLE Fpr30; 00643 DOUBLE Fpr31; 00644 } KEXCEPTION_FRAME, *PKEXCEPTION_FRAME; 00645 00646 FORCEINLINE 00647 struct _KPRCB * 00648 KeGetCurrentPrcb(VOID) 00649 { 00650 return (struct _KPRCB *)(ULONG_PTR)__readfsdword(FIELD_OFFSET(KIPCR, PrcbData)); 00651 } 00652 00653 #endif Generated on Sat May 26 2012 04:29:26 for ReactOS by
1.7.6.1
|