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

kdtypes.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     kdtypes.h
00008 
00009 Abstract:
00010 
00011     Type definitions for the Kernel Debugger.
00012 
00013 Author:
00014 
00015     Alex Ionescu (alexi@tinykrnl.org) - Updated - 27-Feb-2006
00016 
00017 --*/
00018 
00019 #ifndef _KDTYPES_H
00020 #define _KDTYPES_H
00021 
00022 //
00023 // Dependencies
00024 //
00025 #include <umtypes.h>
00026 
00027 //
00028 // Debug Filter Levels
00029 //
00030 #define DPFLTR_ERROR_LEVEL                  0
00031 #define DPFLTR_WARNING_LEVEL                1
00032 #define DPFLTR_TRACE_LEVEL                  2
00033 #define DPFLTR_INFO_LEVEL                   3
00034 #define DPFLTR_MASK                         0x80000000
00035 
00036 //
00037 // Debug Status Codes
00038 //
00039 #define DBG_STATUS_CONTROL_C                1
00040 #define DBG_STATUS_SYSRQ                    2
00041 #define DBG_STATUS_BUGCHECK_FIRST           3
00042 #define DBG_STATUS_BUGCHECK_SECOND          4
00043 #define DBG_STATUS_FATAL                    5
00044 #define DBG_STATUS_DEBUG_CONTROL            6
00045 #define DBG_STATUS_WORKER                   7
00046 
00047 //
00048 // DebugService Control Types
00049 //
00050 #define BREAKPOINT_BREAK                    0
00051 #define BREAKPOINT_PRINT                    1
00052 #define BREAKPOINT_PROMPT                   2
00053 #define BREAKPOINT_LOAD_SYMBOLS             3
00054 #define BREAKPOINT_UNLOAD_SYMBOLS           4
00055 #define BREAKPOINT_COMMAND_STRING           5
00056 
00057 //
00058 // Debug Control Codes for NtSystemDebugcontrol
00059 //
00060 typedef enum _SYSDBG_COMMAND
00061 {
00062     SysDbgQueryModuleInformation = 0,
00063     SysDbgQueryTraceInformation = 1,
00064     SysDbgSetTracepoint = 2,
00065     SysDbgSetSpecialCall = 3,
00066     SysDbgClearSpecialCalls = 4,
00067     SysDbgQuerySpecialCalls = 5,
00068     SysDbgBreakPoint = 6,
00069     SysDbgQueryVersion = 7,
00070     SysDbgReadVirtual = 8,
00071     SysDbgWriteVirtual = 9,
00072     SysDbgReadPhysical = 10,
00073     SysDbgWritePhysical = 11,
00074     SysDbgReadControlSpace = 12,
00075     SysDbgWriteControlSpace = 13,
00076     SysDbgReadIoSpace = 14,
00077     SysDbgWriteIoSpace = 15,
00078     SysDbgReadMsr = 16,
00079     SysDbgWriteMsr = 17,
00080     SysDbgReadBusData = 18,
00081     SysDbgWriteBusData = 19,
00082     SysDbgCheckLowMemory = 20,
00083     SysDbgEnableKernelDebugger = 21,
00084     SysDbgDisableKernelDebugger = 22,
00085     SysDbgGetAutoKdEnable = 23,
00086     SysDbgSetAutoKdEnable = 24,
00087     SysDbgGetPrintBufferSize = 25,
00088     SysDbgSetPrintBufferSize = 26,
00089     SysDbgGetKdUmExceptionEnable = 27,
00090     SysDbgSetKdUmExceptionEnable = 28,
00091     SysDbgGetTriageDump = 29,
00092     SysDbgGetKdBlockEnable = 30,
00093     SysDbgSetKdBlockEnable = 31,
00094     SysDbgRegisterForUmBreakInfo = 32,
00095     SysDbgGetUmBreakPid = 33,
00096     SysDbgClearUmBreakPid = 34,
00097     SysDbgGetUmAttachPid = 35,
00098     SysDbgClearUmAttachPid = 36,
00099 } SYSDBG_COMMAND;
00100 
00101 //
00102 // System Debugger Types
00103 //
00104 typedef struct _SYSDBG_PHYSICAL
00105 {
00106     PHYSICAL_ADDRESS Address;
00107     PVOID Buffer;
00108     ULONG Request;
00109 } SYSDBG_PHYSICAL, *PSYSDBG_PHYSICAL;
00110 
00111 typedef struct _SYSDBG_VIRTUAL
00112 {
00113     PVOID Address;
00114     PVOID Buffer;
00115     ULONG Request;
00116 } SYSDBG_VIRTUAL, *PSYSDBG_VIRTUAL;
00117 
00118 typedef struct _SYSDBG_CONTROL_SPACE
00119 {
00120     ULONGLONG Address;
00121     PVOID Buffer;
00122     ULONG Request;
00123     ULONG Processor;
00124 } SYSDBG_CONTROL_SPACE, *PSYSDBG_CONTROL_SPACE;
00125 
00126 typedef struct _SYSDBG_IO_SPACE
00127 {
00128     ULONGLONG Address;
00129     PVOID Buffer;
00130     ULONG Request;
00131     INTERFACE_TYPE InterfaceType;
00132     ULONG BusNumber;
00133     ULONG AddressSpace;
00134 } SYSDBG_IO_SPACE, *PSYSDBG_IO_SPACE;
00135 
00136 typedef struct _SYSDBG_BUS_DATA
00137 {
00138     ULONG Address;
00139     PVOID Buffer;
00140     ULONG Request;
00141     BUS_DATA_TYPE BusDataType;
00142     ULONG BusNumber;
00143     ULONG SlotNumber;
00144 } SYSDBG_BUS_DATA, *PSYSDBG_BUS_DATA;
00145 
00146 typedef struct _SYSDBG_MSR
00147 {
00148     ULONG Address;
00149     ULONGLONG Data;
00150 } SYSDBG_MSR, *PSYSDBG_MSR;
00151 
00152 typedef struct _SYSDBG_TRIAGE_DUMP
00153 {
00154     ULONG Flags;
00155     ULONG BugCheckCode;
00156     ULONG_PTR BugCheckParam1;
00157     ULONG_PTR BugCheckParam2;
00158     ULONG_PTR BugCheckParam3;
00159     ULONG_PTR BugCheckParam4;
00160     ULONG ProcessHandles;
00161     ULONG ThreadHandles;
00162     PHANDLE Handles;
00163 } SYSDBG_TRIAGE_DUMP, *PSYSDBG_TRIAGE_DUMP;
00164 
00165 //
00166 // KD Structures
00167 //
00168 typedef struct _KD_SYMBOLS_INFO
00169 {
00170     PVOID BaseOfDll;
00171     ULONG_PTR ProcessId;
00172     ULONG CheckSum;
00173     ULONG SizeOfImage;
00174 } KD_SYMBOLS_INFO, *PKD_SYMBOLS_INFO;
00175 
00176 #endif // _KDTYPES_H

Generated on Fri May 25 2012 04:29:30 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.