|
|
1.1 root 1: /*++ BUILD Version: 0001 // Increment this if a change has global effects
2:
3: Copyright (c) 1990 Microsoft Corporation
4:
5: Module Name:
6:
7: ntsdexts.h
8:
9: Abstract:
10:
11: This file contains procedure prototypes and structures
1.1.1.2 ! root 12: needed to write NTSD and KD debugger extensions.
1.1 root 13:
14: Author:
15:
16: Mark Lucovsky (markl) 09-Apr-1991
17:
18: Environment:
19:
20: runs in the Win32 NTSD debug environment.
21:
22: Revision History:
23:
24: --*/
25:
26: #ifndef _NTSDEXTNS_
27: #define _NTSDEXTNS_
28:
29: typedef
30: VOID
31: #ifdef i386
32: cdecl
33: #endif // i386
34: (*PNTSD_OUTPUT_ROUTINE)(
35: char *,
36: ...
37: );
38:
39: typedef
40: DWORD
41: (*PNTSD_GET_EXPRESSION)(
42: char *
43: );
44:
45: typedef
46: VOID
47: (*PNTSD_GET_SYMBOL)(
48: LPVOID offset,
49: PUCHAR pchBuffer,
50: LPDWORD pDisplacement
51: );
52:
53: typedef
54: DWORD
55: (*PNTSD_DISASM)(
56: LPDWORD lpOffset,
57: LPSTR lpBuffer,
58: BOOL fShowEfeectiveAddress
59: );
60:
61: typedef
62: BOOL
63: (*PNTSD_CHECK_CONTROL_C)(
64: VOID
65: );
66:
67: typedef struct _NTSD_EXTENSION_APIS {
68: DWORD nSize;
69: PNTSD_OUTPUT_ROUTINE lpOutputRoutine;
70: PNTSD_GET_EXPRESSION lpGetExpressionRoutine;
71: PNTSD_GET_SYMBOL lpGetSymbolRoutine;
72: PNTSD_DISASM lpDisasmRoutine;
73: PNTSD_CHECK_CONTROL_C lpCheckControlCRoutine;
74: } NTSD_EXTENSION_APIS, *PNTSD_EXTENSION_APIS;
75:
76: typedef
77: VOID
78: (*PNTSD_EXTENSION_ROUTINE)(
79: HANDLE hCurrentProcess,
80: HANDLE hCurrentThread,
81: DWORD dwCurrentPc,
82: PNTSD_EXTENSION_APIS lpExtensionApis,
83: LPSTR lpArgumentString
84: );
85:
1.1.1.2 ! root 86: //
! 87: // Kernel debugger extension APIs
! 88: //
! 89:
! 90: typedef
! 91: VOID
! 92: #ifdef i386
! 93: cdecl
! 94: #endif // i386
! 95: (*PNTKD_OUTPUT_ROUTINE)(
! 96: char *,
! 97: ...
! 98: );
! 99:
! 100: typedef
! 101: DWORD
! 102: (*PNTKD_GET_EXPRESSION)(
! 103: char *
! 104: );
! 105:
! 106: typedef
! 107: VOID
! 108: (*PNTKD_GET_SYMBOL)(
! 109: LPVOID offset,
! 110: PUCHAR pchBuffer,
! 111: LPDWORD pDisplacement
! 112: );
! 113:
! 114: typedef
! 115: DWORD
! 116: (*PNTKD_DISASM)(
! 117: LPDWORD lpOffset,
! 118: LPSTR lpBuffer,
! 119: BOOL fShowEfeectiveAddress
! 120: );
! 121:
! 122: typedef
! 123: BOOL
! 124: (*PNTKD_CHECK_CONTROL_C)(
! 125: VOID
! 126: );
! 127:
! 128: typedef
! 129: BOOL
! 130: (*PNTKD_READ_VIRTUAL_MEMORY)(
! 131: LPVOID address,
! 132: LPVOID buffer,
! 133: ULONG count,
! 134: PULONG bytesread
! 135: );
! 136:
! 137: typedef
! 138: BOOL
! 139: (*PNTKD_WRITE_VIRTUAL_MEMORY)(
! 140: LPVOID address,
! 141: LPVOID buffer,
! 142: ULONG count,
! 143: PULONG byteswritten
! 144: );
! 145:
! 146: typedef
! 147: BOOL
! 148: (*PNTKD_READ_PHYSICAL_MEMORY)(
! 149: PHYSICAL_ADDRESS address,
! 150: LPVOID buffer,
! 151: ULONG count,
! 152: PULONG bytesread
! 153: );
! 154:
! 155: typedef
! 156: BOOL
! 157: (*PNTKD_WRITE_PHYSICAL_MEMORY)(
! 158: PHYSICAL_ADDRESS address,
! 159: LPVOID buffer,
! 160: ULONG length,
! 161: PULONG byteswritten
! 162: );
! 163:
! 164: typedef struct _NTKD_EXTENSION_APIS {
! 165: DWORD nSize;
! 166: PNTKD_OUTPUT_ROUTINE lpOutputRoutine;
! 167: PNTKD_GET_EXPRESSION lpGetExpressionRoutine;
! 168: PNTKD_GET_SYMBOL lpGetSymbolRoutine;
! 169: PNTKD_DISASM lpDisasmRoutine;
! 170: PNTKD_CHECK_CONTROL_C lpCheckControlCRoutine;
! 171: PNTKD_READ_VIRTUAL_MEMORY lpReadVirtualMemRoutine;
! 172: PNTKD_WRITE_VIRTUAL_MEMORY lpWriteVirtualMemRoutine;
! 173: PNTKD_READ_PHYSICAL_MEMORY lpReadPhysicalMemRoutine;
! 174: PNTKD_WRITE_PHYSICAL_MEMORY lpWritePhysicalMemRoutine;
! 175: } NTKD_EXTENSION_APIS, *PNTKD_EXTENSION_APIS;
! 176:
! 177: typedef
! 178: VOID
! 179: (*PNTKD_EXTENSION_ROUTINE)(
! 180: DWORD dwCurrentPc,
! 181: PNTKD_EXTENSION_APIS lpExtensionApis,
! 182: LPSTR lpArgumentString
! 183: );
! 184:
1.1 root 185: #endif // _NTSDEXTNS_
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.