1 /** 2 * This file has no copyright assigned and is placed in the Public Domain. 3 * This file is part of the mingw-w64 runtime package. 4 * No warranty is given; refer to the file DISCLAIMER.PD within this package. 5 */ 6 #ifndef _NTSDEXTNS_ 7 #define _NTSDEXTNS_ 8 9 #ifdef __cplusplus 10 extern "C" { 11 #endif 12 13 typedef VOID (__cdecl *PNTSD_OUTPUT_ROUTINE)(char *,...); 14 typedef ULONG_PTR (*PNTSD_GET_EXPRESSION)(char *); 15 typedef VOID (*PNTSD_GET_SYMBOL)(ULONG_PTR offset,PUCHAR pchBuffer,ULONG_PTR *pDisplacement); 16 typedef DWORD (*PNTSD_DISASM)(ULONG_PTR *lpOffset,LPSTR lpBuffer,ULONG fShowEfeectiveAddress); 17 typedef WINBOOL (*PNTSD_CHECK_CONTROL_C)(VOID); 18 19 typedef struct _NTSD_EXTENSION_APIS { 20 DWORD nSize; 21 PNTSD_OUTPUT_ROUTINE lpOutputRoutine; 22 PNTSD_GET_EXPRESSION lpGetExpressionRoutine; 23 PNTSD_GET_SYMBOL lpGetSymbolRoutine; 24 PNTSD_DISASM lpDisasmRoutine; 25 PNTSD_CHECK_CONTROL_C lpCheckControlCRoutine; 26 } NTSD_EXTENSION_APIS,*PNTSD_EXTENSION_APIS; 27 28 typedef VOID (*PNTSD_EXTENSION_ROUTINE)(HANDLE hCurrentProcess,HANDLE hCurrentThread,DWORD dwCurrentPc,PNTSD_EXTENSION_APIS lpExtensionApis,LPSTR lpArgumentString); 29 30 #ifdef __cplusplus 31 } 32 #endif 33 #endif 34