📄 ksarm.h
字号:
; Copyright (c) 1999-2000 Microsoft Corporation. All rights reserved. INCLUDE kxarm.h; API call defines: cloned from syscall.hFIRST_METHOD EQU 0xF0010000SYSCALL_RETURN EQU FIRST_METHOD-4METHOD_MASK EQU 0x00FFHANDLE_MASK EQU 0x003FHANDLE_SHIFT EQU 8NUM_SYS_HANDLES EQU 32SYS_HANDLE_BASE EQU 64SH_WIN32 EQU 0SH_CURTHREAD EQU 1SH_CURPROC EQU 2; a few Win32 error codes:ERROR_INVALID_FUNCTION EQU 1ERROR_INVALID_HANDLE EQU 6ERROR_INVALID_ADDRESS EQU 487; ARM processor modesUSER_MODE EQU 2_10000FIQ_MODE EQU 2_10001IRQ_MODE EQU 2_10010SVC_MODE EQU 2_10011ABORT_MODE EQU 2_10111UNDEF_MODE EQU 2_11011SYSTEM_MODE EQU 2_11111THUMB_STATE EQU 0x0020; ID codes for HandleExceptionID_RESCHEDULE EQU 0ID_UNDEF_INSTR EQU 1ID_SWI_INSTR EQU 2ID_PREFETCH_ABORT EQU 3ID_DATA_ABORT EQU 4ID_IRQ EQU 5;*;* KDataStruct offsets;*USER_KPAGE EQU 0xFFFFC800INTERLOCKED_START EQU USER_KPAGE+0x380INTERLOCKED_END EQU USER_KPAGE+0x400lpvTls EQU 0x000 ; Current thread local storage pointerahSys EQU 0x004 ; system handle arrayhCurThread EQU 0x008 ; SH_CURTHREAD==1hCurProc EQU 0x00c ; SH_CURPROC==2bResched EQU 0x084 ; reschedule flagcNest EQU 0x085 ; kernel exception nestingbPowerOff EQU 0x086bProfileOn EQU 0x087ptDesc EQU 0x088 ; 2nd level page table descriptor;; not used: cDMsec EQU 0x08c ; # of mSec since last TimerCallBackpCurPrc EQU 0x090 ; pointer to current PROCESS structurepCurThd EQU 0x094 ; pointer to current THREAD structuredwKCRes EQU 0x098hBase EQU 0x09c ; handle table base addressaSections EQU 0x0a0 ; section table for virutal memoryalpeIntrEvents EQU 0x1a0alpvIntrData EQU 0x220pAPIReturn EQU 0x2a0MemoryMap EQU 0x2a4bIntrIndexLow EQU 0x2a8bIntrIndexHigh EQU 0x2acbIntrNumber EQU 0x2b0PendEvents EQU 0x340;* MemoryInfo structure fieldsMIpKData EQU 0MIpKEnd EQU 4;* CINFO structure fieldsCIacName EQU 0CIdisp EQU 4CItype EQU 5CIcMethods EQU 6CIppfnMethods EQU 8CIpdwSig EQU 12CIpServer EQU 16HEAP_HDATA EQU 11;*;* Process structure fields;*PrcID EQU 0PrcHandle EQU 0x08PrcVMBase EQU 0x0c;*;* IPC Call Stack structure fields;*CstkNext EQU 0CstkRa EQU 4CstkPrcLast EQU 8CstkAkyLast EQU 12CstkSizeof EQU 16;* HDATA structure fieldshd_ptr EQU 0x18;* Mask to isolate address bits from a handleHANDLE_ADDRESS_MASK EQU 0x1FFFFFFC;* Thread structure fieldsThwInfo EQU 0x0ThProc EQU 0x0cThAKey EQU 0x14ThPcstkTop EQU 0x18ThdwStackBase EQU 0x1cThTlsPtr EQU 0x24ThdwLastError EQU 0x38ThHandle EQU 0x3cTHREAD_CONTEXT_OFFSET EQU 0x5cTcxPsr EQU THREAD_CONTEXT_OFFSET+0x000TcxR0 EQU THREAD_CONTEXT_OFFSET+0x004TcxR1 EQU THREAD_CONTEXT_OFFSET+0x008TcxR2 EQU THREAD_CONTEXT_OFFSET+0x00cTcxR3 EQU THREAD_CONTEXT_OFFSET+0x010TcxR4 EQU THREAD_CONTEXT_OFFSET+0x014TcxR5 EQU THREAD_CONTEXT_OFFSET+0x018TcxR6 EQU THREAD_CONTEXT_OFFSET+0x01cTcxR7 EQU THREAD_CONTEXT_OFFSET+0x020TcxR8 EQU THREAD_CONTEXT_OFFSET+0x024TcxR9 EQU THREAD_CONTEXT_OFFSET+0x028TcxR10 EQU THREAD_CONTEXT_OFFSET+0x02cTcxR11 EQU THREAD_CONTEXT_OFFSET+0x030TcxR12 EQU THREAD_CONTEXT_OFFSET+0x034TcxSp EQU THREAD_CONTEXT_OFFSET+0x038TcxLr EQU THREAD_CONTEXT_OFFSET+0x03cTcxPc EQU THREAD_CONTEXT_OFFSET+0x040TcxSizeof EQU THREAD_CONTEXT_OFFSET+0x044; Dispatcher Context Structure Offset DefinitionsDcControlPc EQU 0x0DcFunctionEntry EQU 0x4DcEstablisherFrame EQU 0x8DcContextRecord EQU 0xc; Exception Record Offset, Flag, and Enumerated Type DefinitionsEXCEPTION_NONCONTINUABLE EQU 0x1EXCEPTION_UNWINDING EQU 0x2EXCEPTION_EXIT_UNWIND EQU 0x4EXCEPTION_STACK_INVALID EQU 0x8EXCEPTION_NESTED_CALL EQU 0x10EXCEPTION_TARGET_UNWIND EQU 0x20EXCEPTION_COLLIDED_UNWIND EQU 0x40EXCEPTION_UNWIND EQU 0x66ExceptionContinueExecution EQU 0x0ExceptionContinueSearch EQU 0x1ExceptionNestedException EQU 0x2ExceptionCollidedUnwind EQU 0x3ErExceptionCode EQU 0x0ErExceptionFlags EQU 0x4ErExceptionRecord EQU 0x8ErExceptionAddress EQU 0xcErNumberParameters EQU 0x10ErExceptionInformation EQU 0x14ExceptionRecordLength EQU 0x50;; Context Frame Offset and Flag Definitions;CONTEXT_FULL EQU 0x043CONTEXT_CONTROL EQU 0x041CONTEXT_INTEGER EQU 0x042CtxFlags EQU 0x000CtxR0 EQU 0x004CtxR1 EQU 0x008CtxR2 EQU 0x00cCtxR3 EQU 0x010CtxR4 EQU 0x014CtxR5 EQU 0x018CtxR6 EQU 0x01cCtxR7 EQU 0x020CtxR8 EQU 0x024CtxR9 EQU 0x028CtxR10 EQU 0x02cCtxR11 EQU 0x030CtxR12 EQU 0x034CtxSp EQU 0x038CtxLr EQU 0x03cCtxPc EQU 0x040CtxPsr EQU 0x044CtxSizeof EQU 0x048; Offsets of the components of a virtual addressVA_PAGE EQU 12VA_BLOCK EQU 16VA_SECTION EQU 25PAGE_MASK EQU 0x00FBLOCK_MASK EQU 0x1ffSECTION_MASK EQU 0x03F; MemBlock structure layoutmb_lock EQU 0mb_uses EQU 4mb_ixBase EQU 6mb_hPf EQU 8mb_pages EQU 12VERIFY_WRITE_FLAG EQU 1VERIFY_KERNEL_OK EQU 2;* NK interrupt definesSYSINTR_NOP EQU 0SYSINTR_RESCHED EQU 1SYSINTR_BREAK EQU 2SYSINTR_DEVICES EQU 8SYSINTR_MAX_DEVICES EQU 32SYSINTR_FIRMWARE EQU SYSINTR_DEVICES+16SYSINTR_MAXIMUM EQU SYSINTR_DEVICES+SYSINTR_MAX_DEVICES END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -