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