Annotation of mstools/h/ntsdexts.h, revision 1.1.1.2

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_

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.