Home | History | Annotate | Download | only in include
      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