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 10extern "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