summaryrefslogtreecommitdiffstats
path: root/public/sdk/inc/ks386.inc
diff options
context:
space:
mode:
Diffstat (limited to 'public/sdk/inc/ks386.inc')
-rw-r--r--public/sdk/inc/ks386.inc1097
1 files changed, 1097 insertions, 0 deletions
diff --git a/public/sdk/inc/ks386.inc b/public/sdk/inc/ks386.inc
new file mode 100644
index 000000000..7cbcbfe57
--- /dev/null
+++ b/public/sdk/inc/ks386.inc
@@ -0,0 +1,1097 @@
+
+;
+; Process State Enumerated Type Values
+;
+
+ProcessInMemory equ 00H
+ProcessOutOfMemory equ 01H
+ProcessInTransition equ 02H
+
+;
+; Thread State Enumerated Type Values
+;
+
+Initialized equ 00H
+Ready equ 01H
+Running equ 02H
+Standby equ 03H
+Terminated equ 04H
+Waiting equ 05H
+
+;
+; Wait Reason and Wait Type Enumerated Type Values
+;
+
+WrExecutive equ 00H
+WrEventPair equ 0EH
+WaitAny equ 01H
+WaitAll equ 00H
+
+;
+; Apc State Structure Offset Definitions
+;
+
+AsApcListHead equ 00H
+AsProcess equ 010H
+AsKernelApcInProgress equ 014H
+AsKernelApcPending equ 015H
+AsUserApcPending equ 016H
+
+;
+; Bug Check Code Definitions
+;
+
+APC_INDEX_MISMATCH equ 01H
+DATA_BUS_ERROR equ 02EH
+DATA_COHERENCY_EXCEPTION equ 055H
+HAL1_INITIALIZATION_FAILED equ 061H
+INSTRUCTION_BUS_ERROR equ 02FH
+INSTRUCTION_COHERENCY_EXCEPTION equ 056H
+INTERRUPT_EXCEPTION_NOT_HANDLED equ 03DH
+INTERRUPT_UNWIND_ATTEMPTED equ 03CH
+INVALID_AFFINITY_SET equ 03H
+INVALID_DATA_ACCESS_TRAP equ 04H
+IRQL_GT_ZERO_AT_SYSTEM_SERVICE equ 04AH
+IRQL_NOT_LESS_OR_EQUAL equ 0AH
+KMODE_EXCEPTION_NOT_HANDLED equ 01EH
+NMI_HARDWARE_FAILURE equ 080H
+NO_USER_MODE_CONTEXT equ 0EH
+PAGE_FAULT_WITH_INTERRUPTS_OFF equ 049H
+PANIC_STACK_SWITCH equ 02BH
+SPIN_LOCK_INIT_FAILURE equ 081H
+SYSTEM_EXIT_OWNED_MUTEX equ 039H
+SYSTEM_SERVICE_EXCEPTION equ 03BH
+SYSTEM_UNWIND_PREVIOUS_USER equ 03AH
+TRAP_CAUSE_UNKNOWN equ 012H
+UNEXPECTED_KERNEL_MODE_TRAP equ 07FH
+
+;
+; Breakpoint type definitions
+;
+
+DBG_STATUS_CONTROL_C equ 01H
+
+;
+; Client Id Structure Offset Definitions
+;
+
+CidUniqueProcess equ 00H
+CidUniqueThread equ 04H
+
+;
+; Critical Section Structure Offset Definitions
+;
+
+CsDebugInfo equ 00H
+CsLockCount equ 04H
+CsRecursionCount equ 08H
+CsOwningThread equ 0CH
+CsLockSemaphore equ 010H
+
+;
+; Critical Section Debug Information Structure Offset Definitions
+;
+
+CsType equ 00H
+CsCreatorBackTraceIndex equ 02H
+CsCriticalSection equ 04H
+CsProcessLocksList equ 08H
+CsEntryCount equ 010H
+CsContentionCount equ 014H
+
+;
+; Exception Record Offset, Flag, and Enumerated Type Definitions
+;
+
+EXCEPTION_NONCONTINUABLE equ 01H
+EXCEPTION_UNWINDING equ 02H
+EXCEPTION_EXIT_UNWIND equ 04H
+EXCEPTION_STACK_INVALID equ 08H
+EXCEPTION_NESTED_CALL equ 010H
+EXCEPTION_TARGET_UNWIND equ 020H
+EXCEPTION_COLLIDED_UNWIND equ 040H
+EXCEPTION_UNWIND equ 066H
+EXCEPTION_EXECUTE_HANDLER equ 01H
+EXCEPTION_CONTINUE_SEARCH equ 00H
+EXCEPTION_CONTINUE_EXECUTION equ 0FFFFFFFFH
+EXCEPTION_CHAIN_END equ 0FFFFFFFFH
+
+ExceptionContinueExecution equ 00H
+ExceptionContinueSearch equ 01H
+ExceptionNestedException equ 02H
+ExceptionCollidedUnwind equ 03H
+
+ErExceptionCode equ 00H
+ErExceptionFlags equ 04H
+ErExceptionRecord equ 08H
+ErExceptionAddress equ 0CH
+ErNumberParameters equ 010H
+ErExceptionInformation equ 014H
+ExceptionRecordLength equ 050H
+
+;
+; Fast Mutex Structure Offset Definitions
+;
+
+FmCount equ 00H
+FmOwner equ 04H
+FmContention equ 08H
+FmEvent equ 0CH
+FmOldIrql equ 01CH
+
+;
+; Interrupt Priority Request Level Definitions
+;
+
+APC_LEVEL equ 01H
+DISPATCH_LEVEL equ 02H
+CLOCK1_LEVEL equ 01CH
+CLOCK2_LEVEL equ 01CH
+IPI_LEVEL equ 01DH
+POWER_LEVEL equ 01EH
+PROFILE_LEVEL equ 01BH
+HIGH_LEVEL equ 01FH
+SYNCH_LEVEL equ 01CH
+
+;
+; Large Integer Structure Offset Definitions
+;
+
+LiLowPart equ 00H
+LiHighPart equ 04H
+
+;
+; List Entry Structure Offset Definitions
+;
+
+LsFlink equ 00H
+LsBlink equ 04H
+
+;
+; String Structure Offset Definitions
+;
+
+StrLength equ 00H
+StrMaximumLength equ 02H
+StrBuffer equ 04H
+
+;
+; System Time Structure Offset Definitions
+;
+
+StLowTime equ 00H
+StHigh1Time equ 04H
+StHigh2Time equ 08H
+
+;
+; Time Structure Offset Definitions
+;
+
+TmLowTime equ 00H
+TmHighTime equ 04H
+
+;
+; Thread Switch Counter Offset Definitions
+;
+
+TwFindAny equ 00H
+TwFindIdeal equ 04H
+TwFindLast equ 08H
+TwIdleAny equ 0CH
+TwIdleCurrent equ 010H
+TwIdleIdeal equ 014H
+TwIdleLast equ 018H
+TwPreemptAny equ 01CH
+TwPreemptCurrent equ 020H
+TwPreemptLast equ 024H
+TwSwitchToIdle equ 028H
+
+;
+; Status Code Definitions
+;
+
+STATUS_ACCESS_VIOLATION equ 0C0000005H
+STATUS_ARRAY_BOUNDS_EXCEEDED equ 0C000008CH
+STATUS_BAD_COMPRESSION_BUFFER equ 0C0000242H
+STATUS_BREAKPOINT equ 080000003H
+STATUS_DATATYPE_MISALIGNMENT equ 080000002H
+STATUS_FLOAT_DENORMAL_OPERAND equ 0C000008DH
+STATUS_FLOAT_DIVIDE_BY_ZERO equ 0C000008EH
+STATUS_FLOAT_INEXACT_RESULT equ 0C000008FH
+STATUS_FLOAT_INVALID_OPERATION equ 0C0000090H
+STATUS_FLOAT_OVERFLOW equ 0C0000091H
+STATUS_FLOAT_STACK_CHECK equ 0C0000092H
+STATUS_FLOAT_UNDERFLOW equ 0C0000093H
+STATUS_GUARD_PAGE_VIOLATION equ 080000001H
+STATUS_ILLEGAL_FLOAT_CONTEXT equ 0C000014AH
+STATUS_ILLEGAL_INSTRUCTION equ 0C000001DH
+STATUS_INSTRUCTION_MISALIGNMENT equ 0C00000AAH
+STATUS_INVALID_HANDLE equ 0C0000008H
+STATUS_INVALID_LOCK_SEQUENCE equ 0C000001EH
+STATUS_INVALID_OWNER equ 0C000005AH
+STATUS_INVALID_PARAMETER_1 equ 0C00000EFH
+STATUS_INVALID_SYSTEM_SERVICE equ 0C000001CH
+STATUS_INTEGER_DIVIDE_BY_ZERO equ 0C0000094H
+STATUS_INTEGER_OVERFLOW equ 0C0000095H
+STATUS_IN_PAGE_ERROR equ 0C0000006H
+STATUS_KERNEL_APC equ 0100H
+STATUS_LONGJUMP equ 080000026H
+STATUS_NO_CALLBACK_ACTIVE equ 0C0000258H
+STATUS_NO_EVENT_PAIR equ 0C000014EH
+STATUS_PRIVILEGED_INSTRUCTION equ 0C0000096H
+STATUS_SINGLE_STEP equ 080000004H
+STATUS_STACK_OVERFLOW equ 0C00000FDH
+STATUS_SUCCESS equ 00H
+STATUS_THREAD_IS_TERMINATING equ 0C000004BH
+STATUS_TIMEOUT equ 0102H
+STATUS_UNWIND equ 0C0000027H
+STATUS_WAKE_SYSTEM_DEBUGGER equ 080000007H
+
+;
+; APC Object Structure Offset Definitions
+;
+
+ApType equ 00H
+ApSize equ 02H
+ApThread equ 08H
+ApApcListEntry equ 0CH
+ApKernelRoutine equ 014H
+ApRundownRoutine equ 018H
+ApNormalRoutine equ 01CH
+ApNormalContext equ 020H
+ApSystemArgument1 equ 024H
+ApSystemArgument2 equ 028H
+ApApcStateIndex equ 02CH
+ApApcMode equ 02DH
+ApInserted equ 02EH
+ApcObjectLength equ 030H
+
+;
+; DPC object Structure Offset Definitions
+;
+
+DpType equ 00H
+DpNumber equ 02H
+DpImportance equ 03H
+DpDpcListEntry equ 04H
+DpDeferredRoutine equ 0CH
+DpDeferredContext equ 010H
+DpSystemArgument1 equ 014H
+DpSystemArgument2 equ 018H
+DpLock equ 01CH
+DpcObjectLength equ 020H
+
+;
+; Device Queue Object Structure Offset Definitions
+;
+
+DvType equ 00H
+DvSize equ 02H
+DvDeviceListHead equ 04H
+DvSpinLock equ 0CH
+DvBusy equ 010H
+DeviceQueueObjectLength equ 014H
+
+;
+; Device Queue Entry Structure Offset Definitions
+;
+
+DeDeviceListEntry equ 00H
+DeSortKey equ 08H
+DeInserted equ 0CH
+DeviceQueueEntryLength equ 010H
+
+;
+; Event Object Structure Offset Definitions
+;
+
+EvType equ 00H
+EvSize equ 02H
+EvSignalState equ 04H
+EvWaitListHead equ 08H
+EventObjectLength equ 010H
+
+;
+; Event Pair Object Structure Offset Definitions
+;
+
+EpType equ 00H
+EpSize equ 02H
+EpEventLow equ 04H
+EpEventHigh equ 014H
+
+;
+; Interrupt Object Structure Offset Definitions
+;
+
+InLevelSensitive equ 00H
+InLatched equ 01H
+
+InType equ 00H
+InSize equ 02H
+InInterruptListEntry equ 04H
+InServiceRoutine equ 0CH
+InServiceContext equ 010H
+InSpinLock equ 014H
+InActualLock equ 01CH
+InDispatchAddress equ 020H
+InVector equ 024H
+InIrql equ 028H
+InSynchronizeIrql equ 029H
+InFloatingSave equ 02AH
+InConnected equ 02BH
+InNumber equ 02CH
+InMode equ 030H
+InShareVector equ 02DH
+InDispatchCode equ 03CH
+InterruptObjectLength equ 01E4H
+
+NORMAL_DISPATCH_LENGTH equ 01A8H
+DISPATCH_LENGTH equ 01A8H
+
+;
+; Process Object Structure Offset Definitions
+;
+
+PrType equ 00H
+PrSize equ 02H
+PrSignalState equ 04H
+PrProfileListHead equ 010H
+PrDirectoryTableBase equ 018H
+PrLdtDescriptor equ 020H
+PrInt21Descriptor equ 028H
+PrIopmOffset equ 030H
+PrIopl equ 032H
+PrVdmFlag equ 033H
+PrActiveProcessors equ 034H
+PrKernelTime equ 038H
+PrUserTime equ 03CH
+PrReadyListHead equ 040H
+PrSwapListEntry equ 048H
+PrThreadListHead equ 050H
+PrProcessLock equ 058H
+PrAffinity equ 05CH
+PrStackCount equ 060H
+PrBasePriority equ 062H
+PrThreadQuantum equ 063H
+PrAutoAlignment equ 064H
+PrState equ 065H
+ProcessObjectLength equ 070H
+ExtendedProcessObjectLength equ 0200H
+
+;
+; Profile Object Structure Offset Definitions
+;
+
+PfType equ 00H
+PfSize equ 02H
+PfProfileListEntry equ 04H
+PfProcess equ 0CH
+PfRangeBase equ 010H
+PfRangeLimit equ 014H
+PfBucketShift equ 018H
+PfBuffer equ 01CH
+PfSegment equ 020H
+PfAffinity equ 024H
+PfSource equ 028H
+PfStarted equ 02AH
+ProfileObjectLength equ 02CH
+
+;
+; Queue Object Structure Offset Definitions
+;
+
+QuType equ 00H
+QuSize equ 02H
+QuSignalState equ 04H
+QuEntryListHead equ 010H
+QuCurrentCount equ 018H
+QuMaximumCount equ 01CH
+QuThreadListHead equ 020H
+QueueObjectLength equ 028H
+
+;
+; Thread Object Structure Offset Definitions
+;
+
+EeKernelEventPair equ 00H
+EtCid equ 01E0H
+EtEventPair equ 0224H
+EtPerformanceCountLow equ 0204H
+EtPerformanceCountHigh equ 023CH
+EtEthreadLength equ 0240H
+
+ThType equ 00H
+ThSize equ 02H
+ThSignalState equ 04H
+ThMutantListHead equ 010H
+ThInitialStack equ 018H
+ThStackLimit equ 01CH
+ThTeb equ 020H
+ThTlsArray equ 024H
+ThKernelStack equ 028H
+ThDebugActive equ 02CH
+ThState equ 02DH
+ThAlerted equ 02EH
+ThIopl equ 030H
+ThNpxState equ 031H
+ThSaturation equ 032H
+ThPriority equ 033H
+ThApcState equ 034H
+ThContextSwitches equ 04CH
+ThWaitStatus equ 050H
+ThWaitIrql equ 054H
+ThWaitMode equ 055H
+ThWaitNext equ 056H
+ThWaitReason equ 057H
+ThWaitBlockList equ 058H
+ThWaitListEntry equ 05CH
+ThWaitTime equ 064H
+ThBasePriority equ 068H
+ThDecrementCount equ 069H
+ThPriorityDecrement equ 06AH
+ThQuantum equ 06BH
+ThWaitBlock equ 06CH
+ThKernelApcDisable equ 0D0H
+ThUserAffinity equ 0D4H
+ThSystemAffinityActive equ 0D8H
+ThServiceTable equ 0DCH
+ThQueue equ 0E0H
+ThApcQueueLock equ 0E4H
+ThTimer equ 0E8H
+ThQueueListEntry equ 0110H
+ThAffinity equ 0118H
+ThPreempted equ 011CH
+ThProcessReadyQueue equ 011DH
+ThKernelStackResident equ 011EH
+ThNextProcessor equ 011FH
+ThCallbackStack equ 0120H
+ThWin32Thread equ 0124H
+ThTrapFrame equ 0128H
+ThApcStatePointer equ 012CH
+ThPreviousMode equ 0137H
+ThEnableStackSwap equ 0134H
+ThLargeStack equ 0135H
+ThKernelTime equ 0138H
+ThUserTime equ 013CH
+ThSavedApcState equ 0140H
+ThAlertable equ 0158H
+ThApcStateIndex equ 0159H
+ThApcQueueable equ 015AH
+ThAutoAlignment equ 015BH
+ThStackBase equ 015CH
+ThSuspendApc equ 0160H
+ThSuspendSemaphore equ 0190H
+ThThreadListEntry equ 01A4H
+ThFreezeCount equ 01ACH
+ThSuspendCount equ 01ADH
+ThIdealProcessor equ 01AEH
+ThDisableBoost equ 01AFH
+ThreadObjectLength equ 01B0H
+ExtendedThreadObjectLength equ 0240H
+
+EVENT_WAIT_BLOCK_OFFSET equ 09CH
+NPX_STATE_NOT_LOADED equ 0AH
+NPX_STATE_LOADED equ 00H
+
+;
+; Timer object Structure Offset Definitions
+;
+
+TiType equ 00H
+TiSize equ 02H
+TiInserted equ 03H
+TiSignalState equ 04H
+TiDueTime equ 010H
+TiTimerListEntry equ 018H
+TiDpc equ 020H
+TiPeriod equ 024H
+TimerObjectLength equ 028H
+
+TIMER_TABLE_SIZE equ 080H
+
+;
+; Wait Block Structure Offset Definitions
+;
+
+WbWaitListEntry equ 00H
+WbThread equ 08H
+WbObject equ 0CH
+WbNextWaitBlock equ 010H
+WbWaitKey equ 014H
+WbWaitType equ 016H
+
+;
+; Fiber Structure Offset Definitions
+;
+
+FbFiberData equ 00H
+FbExceptionList equ 04H
+FbStackBase equ 08H
+FbStackLimit equ 0CH
+FbDeallocationStack equ 010H
+FbFiberContext equ 014H
+
+;
+; Process Environment Block Structure Offset Definitions
+;
+
+PeKernelCallbackTable equ 02CH
+
+;
+; System Service Descriptor Table Structure Definitions
+;
+
+NUMBER_SERVICE_TABLES equ 04H
+SERVICE_NUMBER_MASK equ 0FFFH
+SERVICE_TABLE_SHIFT equ 08H
+SERVICE_TABLE_MASK equ 030H
+SERVICE_TABLE_TEST equ 010H
+
+SdBase equ 00H
+SdCount equ 04H
+SdLimit equ 08H
+SdNumber equ 0CH
+
+;
+; Thread Environment Block Structure Offset Definitions
+;
+
+TeStackBase equ 04H
+TeStackLimit equ 08H
+TeFiberData equ 010H
+TeEnvironmentPointer equ 01CH
+TeClientId equ 020H
+TeActiveRpcHandle equ 028H
+TeThreadLocalStoragePointer equ 02CH
+TePeb equ 030H
+TeCsrClientThread equ 03CH
+TeSoftFpcr equ 0C8H
+TeGdiClientPID equ 06F4H
+TeGdiClientTID equ 06F8H
+TeGdiThreadLocalInfo equ 06FCH
+TeglDispatchTable equ 0714H
+TeglSectionInfo equ 0BE0H
+TeglSection equ 0BE4H
+TeglTable equ 0BE8H
+TeglCurrentRC equ 0BECH
+TeglContext equ 0BF0H
+TeDeallocationStack equ 0E0CH
+TeGdiBatchCount equ 0F70H
+TeInstrumentation equ 0F2CH
+
+;
+; Apc Record Structure Offset Definitions
+;
+
+ArNormalRoutine equ 00H
+ArNormalContext equ 04H
+ArSystemArgument1 equ 08H
+ArSystemArgument2 equ 0CH
+ApcRecordLength equ 010H
+
+
+;
+; Processor Control Registers Structure Offset Definitions
+;
+
+KI_BEGIN_KERNEL_RESERVED equ 0FFDF0000H
+ifdef NT_UP
+ P0PCRADDRESS equ 0FFDFF000H
+ PCR equ ds:[0FFDFF000H]
+else
+ PCR equ fs:
+endif
+
+PcExceptionList equ 00H
+PcInitialStack equ 04H
+PcStackLimit equ 08H
+PcSelfPcr equ 01CH
+PcPrcb equ 020H
+PcTeb equ 018H
+PcIrql equ 024H
+PcIRR equ 028H
+PcIrrActive equ 02CH
+PcIDR equ 030H
+PcIdt equ 038H
+PcGdt equ 03CH
+PcTss equ 040H
+PcDebugActive equ 050H
+PcNumber equ 051H
+PcVdmAlert equ 052H
+PcSetMember equ 048H
+PcStallScaleFactor equ 04CH
+PcHal equ 094H
+PcKernel equ 054H
+PcPrcbData equ 0120H
+ProcessorControlRegisterLength equ 0678H
+TebPeb equ 030H
+PebBeingDebugged equ 02H
+PebKernelCallbackTable equ 02CH
+
+;
+; Defines for user shared data
+;
+USER_SHARED_DATA equ 0FFDF0000H
+MM_SHARED_USER_DATA_VA equ 07FFE0000H
+USERDATA equ ds:[0FFDF0000H]
+UsTickCountLow equ 00H
+UsTickCountMultiplier equ 04H
+UsInterruptTime equ 08H
+UsSystemTime equ 014H
+
+;
+; Tss Structure Offset Definitions
+;
+
+TssEsp0 equ 04H
+TssCR3 equ 01CH
+TssIoMapBase equ 066H
+TssIoMaps equ 068H
+TssLength equ 020ACH
+
+;
+; Gdt Descriptor Offset Definitions
+;
+
+KGDT_R3_DATA equ 020H
+KGDT_R3_CODE equ 018H
+KGDT_R0_CODE equ 08H
+KGDT_R0_DATA equ 010H
+KGDT_R0_PCR equ 030H
+KGDT_STACK16 equ 0F8H
+KGDT_CODE16 equ 0F0H
+KGDT_TSS equ 028H
+KGDT_R3_TEB equ 038H
+KGDT_DF_TSS equ 050H
+KGDT_NMI_TSS equ 058H
+KGDT_LDT equ 048H
+
+;
+; GdtEntry Offset Definitions
+;
+
+KgdtBaseLow equ 02H
+KgdtBaseMid equ 04H
+KgdtBaseHi equ 07H
+KgdtLimitHi equ 06H
+KgdtLimitLow equ 00H
+
+
+;
+; Processor Block Structure Offset Definitions
+;
+
+PbCurrentThread equ 04H
+PbNextThread equ 08H
+PbIdleThread equ 0CH
+PbNumber equ 010H
+PbSetMember equ 014H
+PbCpuID equ 019H
+PbCpuType equ 018H
+PbCpuStep equ 01AH
+PbHalReserved equ 017CH
+PbProcessorState equ 01CH
+PbNpxThread equ 01BCH
+PbInterruptCount equ 01C0H
+PbKernelTime equ 01C4H
+PbUserTime equ 01C8H
+PbDpcTime equ 01CCH
+PbInterruptTime equ 01D0H
+PbApcBypassCount equ 01D4H
+PbDpcBypassCount equ 01D8H
+PbAdjustDpcThreshold equ 01DCH
+PbThreadStartCount equ 01F4H
+PbAlignmentFixupCount equ 021CH
+PbContextSwitches equ 0220H
+PbDcacheFlushCount equ 0224H
+PbExceptionDispatchCount equ 0228H
+PbFirstLevelTbFills equ 022CH
+PbFloatingEmulationCount equ 0230H
+PbIcacheFlushCount equ 0234H
+PbSecondLevelTbFills equ 0238H
+PbSystemCalls equ 023CH
+PbCurrentPacket equ 0480H
+PbTargetSet equ 048CH
+PbWorkerRoutine equ 0490H
+PbIpiFrozen equ 0494H
+PbRequestSummary equ 04A0H
+PbSignalDone equ 04A4H
+PbIpiFrame equ 04ACH
+PbDpcInterruptRequested equ 04C0H
+PbMaximumDpcQueueDepth equ 04D0H
+PbMinimumDpcRate equ 04D4H
+PbDpcListHead equ 04E0H
+PbDpcQueueDepth equ 04E8H
+PbDpcRoutineActive equ 04ECH
+PbDpcCount equ 04F0H
+PbDpcLastCount equ 04F4H
+PbDpcRequestRate equ 04F8H
+PbDpcLock equ 0528H
+PbSkipTick equ 052CH
+PbQuantumEnd equ 0550H
+ProcessorBlockLength equ 0560H
+
+;
+; Immediate Interprocessor Command Definitions
+;
+
+IPI_APC equ 01H
+IPI_DPC equ 02H
+IPI_FREEZE equ 04H
+IPI_PACKET_READY equ 08H
+;
+; Thread Environment Block Structure Offset Definitions
+;
+
+TbExceptionList equ 00H
+TbStackBase equ 04H
+TbStackLimit equ 08H
+TbEnvironmentPointer equ 01CH
+TbVersion equ 010H
+TbFiberData equ 010H
+TbArbitraryUserPointer equ 014H
+TbClientId equ 020H
+TbThreadLocalStoragePointer equ 02CH
+TbCountOfOwnedCriticalSections equ 038H
+TbSystemReserved1 equ 0CCH
+TbSystemReserved2 equ 01D4H
+TbVdm equ 0F18H
+TbCsrClientThread equ 03CH
+TbGdiClientPID equ 06F4H
+TbGdiClientTID equ 06F8H
+TbGdiThreadLocalInfo equ 06FCH
+TbglDispatchTable equ 0714H
+TbglSectionInfo equ 0BE0H
+TbglSection equ 0BE4H
+TbglTable equ 0BE8H
+TbglCurrentRC equ 0BECH
+TbglContext equ 0BF0H
+TbWin32ClientInfo equ 044H
+TbWOW32Reserved equ 0C0H
+TbWin32ThreadInfo equ 040H
+TbSpare1 equ 01A4H
+TbExceptionCode equ 01A8H
+TbDeallocationStack equ 0E0CH
+TbGdiBatchCount equ 0F70H
+;
+;
+; Time Fields (TIME_FIELDS) Structure Offset Definitions
+;
+
+TfSecond equ 0AH
+TfMinute equ 08H
+TfHour equ 06H
+TfWeekday equ 0EH
+TfDay equ 04H
+TfMonth equ 02H
+TfYear equ 00H
+TfMilliseconds equ 0CH
+
+;
+; constants for system irql and IDT vector conversion
+;
+
+MAXIMUM_IDTVECTOR equ 0FFH
+MAXIMUM_PRIMARY_VECTOR equ 0FFH
+PRIMARY_VECTOR_BASE equ 030H
+RPL_MASK equ 03H
+MODE_MASK equ 01H
+
+;
+; Flags in the CR0 register
+;
+
+CR0_PG equ 080000000H
+CR0_ET equ 010H
+CR0_TS equ 08H
+CR0_EM equ 04H
+CR0_MP equ 02H
+CR0_PE equ 01H
+CR0_CD equ 040000000H
+CR0_NW equ 020000000H
+CR0_AM equ 040000H
+CR0_WP equ 010000H
+CR0_NE equ 020H
+
+;
+; Flags in the CR4 register
+;
+
+CR4_VME equ 01H
+CR4_PVI equ 02H
+CR4_TSD equ 04H
+CR4_DE equ 08H
+CR4_PSE equ 010H
+CR4_PAE equ 020H
+CR4_MCE equ 040H
+CR4_PGE equ 080H
+;
+; Miscellaneous Definitions
+;
+
+MAXIMUM_PROCESSORS equ 020H
+INITIAL_STALL_COUNT equ 064H
+IRQL_NOT_GREATER_OR_EQUAL equ 09H
+IRQL_NOT_LESS_OR_EQUAL equ 0AH
+BASE_PRIORITY_THRESHOLD equ 08H
+EVENT_PAIR_INCREMENT equ 01H
+LOW_REALTIME_PRIORITY equ 010H
+BlackHole equ 0FFFFA000H
+KERNEL_LARGE_STACK_COMMIT equ 03000H
+KERNEL_STACK_SIZE equ 03000H
+DOUBLE_FAULT_STACK_SIZE equ 01000H
+EFLAG_SELECT equ 0C000H
+BREAKPOINT_BREAK equ 00H
+IPI_FREEZE equ 04H
+CLOCK_QUANTUM_DECREMENT equ 03H
+READY_SKIP_QUANTUM equ 02H
+THREAD_QUANTUM equ 06H
+WAIT_QUANTUM_DECREMENT equ 01H
+ROUND_TRIP_DECREMENT_COUNT equ 010H
+
+;
+; Trap Frame Offset Definitions and Length
+;
+
+TsExceptionList equ 04CH
+TsPreviousPreviousMode equ 048H
+TsSegGs equ 030H
+TsSegFs equ 050H
+TsSegEs equ 034H
+TsSegDs equ 038H
+TsEdi equ 054H
+TsEsi equ 058H
+TsEbp equ 060H
+TsEbx equ 05CH
+TsEdx equ 03CH
+TsEcx equ 040H
+TsEax equ 044H
+TsErrCode equ 064H
+TsEip equ 068H
+TsSegCs equ 06CH
+TsEflags equ 070H
+TsHardwareEsp equ 074H
+TsHardwareSegSs equ 078H
+TsTempSegCs equ 010H
+TsTempEsp equ 014H
+TsDbgEbp equ 00H
+TsDbgEip equ 04H
+TsDbgArgMark equ 08H
+TsDbgArgPointer equ 0CH
+TsDr0 equ 018H
+TsDr1 equ 01CH
+TsDr2 equ 020H
+TsDr3 equ 024H
+TsDr6 equ 028H
+TsDr7 equ 02CH
+TsV86Es equ 07CH
+TsV86Ds equ 080H
+TsV86Fs equ 084H
+TsV86Gs equ 088H
+KTRAP_FRAME_LENGTH equ 08CH
+KTRAP_FRAME_ALIGN equ 04H
+FRAME_EDITED equ 0FFF8H
+EFLAGS_ALIGN_CHECK equ 040000H
+EFLAGS_V86_MASK equ 020000H
+EFLAGS_INTERRUPT_MASK equ 0200H
+EFLAGS_VIF equ 080000H
+EFLAGS_VIP equ 0100000H
+EFLAGS_USER_SANITIZE equ 01E0DD7H
+
+;
+; Context Frame Offset and Flag Definitions
+;
+
+CONTEXT_FULL equ 010007H
+CONTEXT_DEBUG_REGISTERS equ 010010H
+CONTEXT_CONTROL equ 010001H
+CONTEXT_FLOATING_POINT equ 010008H
+CONTEXT_INTEGER equ 010002H
+CONTEXT_SEGMENTS equ 010004H
+
+CsContextFlags equ 00H
+CsFloatSave equ 01CH
+CsSegGs equ 08CH
+CsSegFs equ 090H
+CsSegEs equ 094H
+CsSegDs equ 098H
+CsEdi equ 09CH
+CsEsi equ 0A0H
+CsEbp equ 0B4H
+CsEbx equ 0A4H
+CsEdx equ 0A8H
+CsEcx equ 0ACH
+CsEax equ 0B0H
+CsEip equ 0B8H
+CsSegCs equ 0BCH
+CsEflags equ 0C0H
+CsEsp equ 0C4H
+CsSegSs equ 0C8H
+CsDr0 equ 04H
+CsDr1 equ 08H
+CsDr2 equ 0CH
+CsDr3 equ 010H
+CsDr6 equ 014H
+CsDr7 equ 018H
+ContextFrameLength equ 0D0H
+DR6_LEGAL equ 0E00FH
+DR7_LEGAL equ 0FFFF0155H
+DR7_ACTIVE equ 055H
+ErrHandler equ 04H
+ErrNext equ 00H
+
+;
+; Floating save area field offset definitions
+;
+FpControlWord equ 00H
+FpStatusWord equ 04H
+FpTagWord equ 08H
+FpErrorOffset equ 0CH
+FpErrorSelector equ 010H
+FpDataOffset equ 014H
+FpDataSelector equ 018H
+FpRegisterArea equ 01CH
+FpCr0NpxState equ 06CH
+
+NPX_FRAME_LENGTH equ 070H
+;
+; Processor State Frame Offset Definitions
+;
+
+PsContextFrame equ 00H
+PsSpecialRegisters equ 0CCH
+SrCr0 equ 00H
+SrCr2 equ 04H
+SrCr3 equ 08H
+SrCr4 equ 0CH
+SrKernelDr0 equ 010H
+SrKernelDr1 equ 014H
+SrKernelDr2 equ 018H
+SrKernelDr3 equ 01CH
+SrKernelDr6 equ 020H
+SrKernelDr7 equ 024H
+SrGdtr equ 02AH
+SrIdtr equ 032H
+SrTr equ 038H
+SrLdtr equ 03AH
+ProcessorStateLength equ 0120H
+;
+; EPROCESS
+;
+
+EpDebugPort equ 0FCH
+
+;
+; NTDDK Resource
+;
+
+RsOwnerThreads equ 08H
+RsOwnerCounts equ 0CH
+RsTableSize equ 010H
+RsActiveCount equ 012H
+RsFlag equ 014H
+RsInitialOwnerThreads equ 01CH
+RsOwnedExclusive equ 080H
+;
+; Machine type definitions (Temporarily)
+;
+
+MACHINE_TYPE_ISA equ 00H
+MACHINE_TYPE_EISA equ 01H
+MACHINE_TYPE_MCA equ 02H
+;
+; KeFeatureBits defines
+;
+
+KF_V86_VIS equ 01H
+KF_RDTSC equ 02H
+KF_CR4 equ 04H
+KF_GLOBAL_PAGE equ 010H
+KF_LARGE_PAGE equ 020H
+KF_CMPXCHG8B equ 080H
+;
+; LoaderParameterBlock offsets relative to base
+;
+
+LpbLoadOrderListHead equ 00H
+LpbMemoryDescriptorListHead equ 08H
+LpbKernelStack equ 018H
+LpbPrcb equ 01CH
+LpbProcess equ 020H
+LpbThread equ 024H
+LpbI386 equ 05CH
+LpbRegistryLength equ 028H
+LpbRegistryBase equ 02CH
+LpbConfigurationRoot equ 030H
+LpbArcBootDeviceName equ 034H
+LpbArcHalDeviceName equ 038H
+PAGE_SIZE equ 01000H
+
+;
+; VDM equates.
+;
+
+VDM_INDEX_Invalid equ 00H
+VDM_INDEX_0F equ 01H
+VDM_INDEX_ESPrefix equ 02H
+VDM_INDEX_CSPrefix equ 03H
+VDM_INDEX_SSPrefix equ 04H
+VDM_INDEX_DSPrefix equ 05H
+VDM_INDEX_FSPrefix equ 06H
+VDM_INDEX_GSPrefix equ 07H
+VDM_INDEX_OPER32Prefix equ 08H
+VDM_INDEX_ADDR32Prefix equ 09H
+VDM_INDEX_INSB equ 0AH
+VDM_INDEX_INSW equ 0BH
+VDM_INDEX_OUTSB equ 0CH
+VDM_INDEX_OUTSW equ 0DH
+VDM_INDEX_PUSHF equ 0EH
+VDM_INDEX_POPF equ 0FH
+VDM_INDEX_INTnn equ 010H
+VDM_INDEX_INTO equ 011H
+VDM_INDEX_IRET equ 012H
+VDM_INDEX_NPX equ 013H
+VDM_INDEX_INBimm equ 014H
+VDM_INDEX_INWimm equ 015H
+VDM_INDEX_OUTBimm equ 016H
+VDM_INDEX_OUTWimm equ 017H
+VDM_INDEX_INB equ 018H
+VDM_INDEX_INW equ 019H
+VDM_INDEX_OUTB equ 01AH
+VDM_INDEX_OUTW equ 01BH
+VDM_INDEX_LOCKPrefix equ 01CH
+VDM_INDEX_REPNEPrefix equ 01DH
+VDM_INDEX_REPPrefix equ 01EH
+VDM_INDEX_CLI equ 01FH
+VDM_INDEX_STI equ 020H
+VDM_INDEX_HLT equ 021H
+MAX_VDM_INDEX equ 022H
+
+;
+; VDM feature bits.
+;
+
+V86_VIRTUAL_INT_EXTENSIONS equ 01H
+PM_VIRTUAL_INT_EXTENSIONS equ 02H
+
+;
+; Selector types.
+;
+
+SEL_TYPE_NP equ 040H
+
+;
+; Usermode callout frame definitions
+;
+
+CuInStk equ 00H
+CuTrFr equ 04H
+CuCbStk equ 08H
+CuEdi equ 0CH
+CuEsi equ 010H
+CuEbx equ 014H
+CuEbp equ 018H
+CuRet equ 01CH
+CuOutBf equ 020H
+CuOutLn equ 024H