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