Windows NT 4.0 source code leak
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

190 lines
4.3 KiB

/**** OSDEM.H - Execution model api ****
* *
* *
* Copyright <C> 1990, Microsoft Corp *
* *
* Created: October 15, 1990 by David W. Gray *
* *
* Purpose: *
* *
* *
***************************************************************************/
#ifndef _OSDEM
#define _OSDEM
typedef enum {
emfFreeze = osdFreeze,
emfThaw = osdThaw,
emfIOCTL = osdIOCTL,
emfReadBuf = osdReadBuf,
emfWriteBuf = osdWriteBuf,
emfShowDebuggee = osdShowDebuggee,
emfFixupAddr = osdFixupAddr,
emfUnFixupAddr = osdUnFixupAddr,
emfSetEmi = osdSetEmi,
emfSendChar = osdSendChar,
emfFreezeState = osdFreezeState,
emfIsOverlayLoaded = osdIsOverlayLoaded,
emfCompareAddrs = osdCompareAddrs,
emfDUMMY = 0x30,
////////// OSDEBUG4 emfs, more or less ///////////////
emfDebugPacket,
emfRegisterDBF,
emfInit,
emfGetModel,
emfUnInit,
// emfAttach,
// emfDetach,
emfConnect,
emfDisconnect,
emfCreatePid,
emfDestroyPid,
emfDestroyTid,
emfSetMulti,
emfDebugger,
emfProgramLoad,
emfDebugActive,
emfSetPath,
emfProgramFree,
emfThreadStatus,
emfProcessStatus,
// emfFreezeThread,
// emfSetThreadPriority,
emfGetExceptionState,
emfSetExceptionState,
emfGetModuleList,
emfGo,
emfSingleStep,
emfRangeStep,
emfReturnStep,
emfStop,
emfBreakPoint,
emfSetupExecute,
emfStartExecute,
emfCleanUpExecute,
emfGetAddr,
emfSetAddr,
// emfFixupAddr,
// emfUnFixupAddr,
// emfSetEmi,
emfRegisterEmi,
// emfUnRegisterEmi,
// emfCompareAddrs,
// emfGetObjLength,
// emfGetMemoryInfo,
// emfReadMemory,
// emfWriteMemory,
emfGetRegStruct,
emfGetFlagStruct,
emfGetReg,
emfSetReg,
emfGetFlag,
emfSetFlag,
// emfSaveRegs,
// emfRestoreRegs,
emfUnassemble,
// emfGetPrevInst,
emfAssemble,
// emfGetFrame,
emfMetric,
emfGetMsgMap,
// emfGetMessageMaskMap,
// emfInfoReply,
// emfContinue,
// emfReadFile,
// emfWriteFile,
// emfShowDebuggee,
emfGetProcessList,
// emfSystemService,
// emfSetDebugMode,
/////////////////////////////////////////////////
emfIsStackSetup,
emfStackWalkSetup,
emfStackWalkNext,
emfStackWalkCleanup,
emfLoadDllAck,
emfUnLoadDllAck,
emfSetFrame,
emfGetPrompt,
emfSetFrameContext,
emfFrameRegValue,
emfFrameSetReg,
emfMiscReply,
emfGetMemInfo,
emfGetFunctionInfo,
emfMax
} _EMF;
typedef DWORD EMF;
typedef enum {
dbcoCreateThread = dbcMax,
dbcoNewProc,
dbcoMax
} _DBCO; // Debug CallBacks Osdebug specific
typedef LONG DBCO;
typedef struct _EMCB {
XOSD (PASCAL LOADDS *lpfnCallBackDB) ( DBC, HPID, HTID, DWORD, DWORD, VOID FAR * );
XOSD (PASCAL LOADDS *lpfnCallBackTL) ( TLF, HPID, DWORD, VOID FAR * );
XOSD (PASCAL LOADDS *lpfnCallBackNT) ( EMF, HPID, HTID, DWORD, VOID FAR * );
XOSD (PASCAL LOADDS *lpfnCallBackEM) ( EMF, HPID, HTID, DWORD, DWORD, VOID FAR * );
} EMCB; // Execution Model CallBacks
typedef EMCB FAR *LPEMCB;
typedef struct _REMI {
HEMI hemi;
LSZ lsz;
} REMI; // Register EMI structure
typedef REMI FAR * LPREMI;
// M.O.V.E. notification types/defs
#define fOvlLoad ((BYTE)0x06)
#define fOvlUnload ((BYTE)0x07)
#pragma pack(1)
typedef struct _OVL7 {
BYTE bVersion;
BYTE cbOvl7;
BYTE fOvlOp;
unsigned short iovl;
WORD dbFrameBase;
} OVL7;
#pragma pack()
typedef OVL7 FAR *LPOVL7;
// get od/em/dm message structures
#include "odmsg.h"
#endif // _OSDEM