mirror of https://github.com/lianthony/NT4.0
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.
186 lines
8.0 KiB
186 lines
8.0 KiB
extern PCVF pCVF;
|
|
extern PCRF pCRF;
|
|
|
|
#define MHlpvAlloc (*pCVF->pMHlpvAlloc)
|
|
#define MHFreeLpv (*pCVF->pMHFreeLpv)
|
|
#define SHGetNextExe (*pCVF->pSHGetNextExe)
|
|
#define SHHexeFromHmod (*pCVF->pSHHexeFromHmod)
|
|
#define SHGetNextMod (*pCVF->pSHGetNextMod)
|
|
#define SHGetCxtFromHmod (*pCVF->pSHGetCxtFromHmod)
|
|
#define SHGetCxtFromHexe (*pCVF->pSHGetCxtFromHexe)
|
|
#define SHSetCxt (*pCVF->pSHSetCxt)
|
|
#define SHSetCxtMod (*pCVF->pSHSetCxtMod)
|
|
#define SHFindNameInGlobal (*pCVF->pSHFindNameInGlobal)
|
|
#define SHFindNameInContext (*pCVF->pSHFindNameInContext)
|
|
#define SHGoToParent (*pCVF->pSHGoToParent)
|
|
#define SHHsymFromPcxt (*pCVF->pSHHsymFromPcxt)
|
|
#define SHNextHsym (*pCVF->pSHNextHsym)
|
|
#define SHGetFuncCxf (*pCVF->pSHGetFuncCxf)
|
|
#define SHGetModName (*pCVF->pSHGetModName)
|
|
//#define SHGetFileName (*pCVF->pSHGetFileName)
|
|
#define SHGetExeName (*pCVF->pSHGetExeName)
|
|
#define SHGetModNameFromHexe (*pCVF->pSHGetModNameFromHexe)
|
|
#define SHGetSymFName (*pCVF->pSHGetSymFName)
|
|
//#define SHGethFileFromhMod (*pCVF->pSHGethFileFromhMod)
|
|
//#define SHGethModFromName (*pCVF->pSHGethModFromName)
|
|
#define SHGethExeFromName (*pCVF->pSHGethExeFromName)
|
|
#define SHGethExeFromModuleName (*pCVF->pSHGethExeFromModuleName)
|
|
#define SHGetNearestHsym (*pCVF->pSHGetNearestHsym)
|
|
#define SHIsInProlog (*pCVF->pSHIsInProlog)
|
|
#define SHIsAddrInCxt (*pCVF->pSHIsAddrInCxt)
|
|
//#define SHLineFromADDR (*pCVF->pSHLineFromADDR)
|
|
//#define SHADDRFromLine (*pCVF->pSHADDRFromLine)
|
|
#define SHModelFromAddr (*pCVF->pSHModelFromAddr)
|
|
#define SHCompareRE (*pCVF->pSHCompareRE)
|
|
#define SHFixupAddr (*pCVF->pSHFixupAddr)
|
|
#define SHUnFixupAddr (*pCVF->pSHUnFixupAddr)
|
|
#define SHWantSymbols (*pCVF->pSHWantSymbols)
|
|
#define PHGetNearestHsym (*pCVF->pPHGetNearestHsym)
|
|
#define PHFindNameInPublics (*pCVF->pPHFindNameInPublics)
|
|
#define THGetTypeFromIndex (*pCVF->pTHGetTypeFromIndex)
|
|
#define THGetNextType (*pCVF->pTHGetNextType)
|
|
#define MHIsMemLocked (*pCVF->pMHIsMemLocked)
|
|
#define SYGetAddr (*pCVF->pSYGetAddr)
|
|
#define SYGetMemInfo (*pCVF->pSYGetMemInfo)
|
|
|
|
// MAGIC NUMBERS
|
|
|
|
#define adrTlsBase 7
|
|
#define adrPC 2
|
|
|
|
__inline LPV MHOmfLock(HDEP hdep) { return((LPV) hdep); }
|
|
|
|
__inline void MHOmfUnLock(HDEP hdep) {}
|
|
|
|
#define DHSetupExecute (*pCVF->pDHSetupExecute)
|
|
#define DHStartExecute (*pCVF->pDHStartExecute)
|
|
#define DHCleanUpExecute (*pCVF->pDHCleanUpExecute)
|
|
|
|
#if !defined (M68K)
|
|
#define GetDebuggeeBytes(addr, cb, pv, type) \
|
|
(*pCVF->pDHGetDebuggeeBytes)((addr), (cb), (pv))
|
|
#define PutDebuggeeBytes(addr, cb, pv, type) \
|
|
(*pCVF->pDHPutDebuggeeBytes)((addr), (cb), (pv))
|
|
#define GetReg (*pCVF->pDHGetReg)
|
|
#define SetReg (*pCVF->pDHSetReg)
|
|
#endif
|
|
|
|
#define in386mode (*pCVF->pin386mode)
|
|
#define is_assign (*pCVF->pis_assign)
|
|
#define ArrayDefault (*pCVF->pArrayDefault)
|
|
#define quit (*pCVF->pquit)
|
|
#define assert_out (*pCVF->passert)
|
|
|
|
//
|
|
// Source Line Handler
|
|
//
|
|
|
|
#define SLLineFromAddr (*pCVF->pSLLineFromAddr)
|
|
#define SLFLineToAddr (*pCVF->pSLFLineToAddr)
|
|
#define SLNameFromHsf (*pCVF->pSLNameFromHsf)
|
|
#define SLHmodFromHsf (*pCVF->pSLHmodFromHsf)
|
|
#define SLHsfFromPcxt (*pCVF->pSLHsfFromPcxt)
|
|
#define SLHsfFromFile (*pCVF->pSLHsfFromFile)
|
|
|
|
|
|
//
|
|
// Shell callbacks
|
|
//
|
|
#define GetCurrentPC (*pCVF->pGetCurrentPC)
|
|
|
|
|
|
|
|
// **********************************************************************
|
|
// * *
|
|
// * RUN TIME CALLBACKS *
|
|
// * *
|
|
// **********************************************************************
|
|
|
|
#ifndef WIN32
|
|
#define ultoa(a,b,c) ((pCRF->pultoa)(a, b, c))
|
|
#define itoa(a,b,c) ((pCRF->pitoa)(a, b, c))
|
|
#define ltoa(a,b,c) ((pCRF->pltoa)(a, b, c))
|
|
#endif
|
|
#define _strtold(a, b) ((pCRF->p_strtold)(a, b))
|
|
|
|
#define eprintf (*pCRF->peprintf)
|
|
//#define sprintf (*pCRF->psprintf)
|
|
|
|
// **********************************************************************
|
|
// * *
|
|
// * Expr Evaluator Declarations *
|
|
// * *
|
|
// **********************************************************************
|
|
void LOADDS PASCAL EEInitializeExpr (PCI, PEI);
|
|
void LOADDS PASCAL EEFreeStr (EEHSTR);
|
|
EESTATUS LOADDS PASCAL EEGetError (PHTM, EESTATUS, PEEHSTR);
|
|
|
|
EESTATUS LOADDS PASCAL EEParse (char FAR *, EERADIX, SHFLAG, PHTM, uint FAR *);
|
|
EESTATUS LOADDS PASCAL EEBindTM (PHTM, PCXT, SHFLAG, SHFLAG, BOOL);
|
|
EESTATUS LOADDS PASCAL EEvaluateTM (PHTM, PFRAME, EEDSP);
|
|
|
|
EESTATUS LOADDS PASCAL EEGetExprFromTM (PHTM, PEERADIX, PEEHSTR, ushort FAR *);
|
|
EESTATUS LOADDS PASCAL EEGetValueFromTM (PHTM, EERADIX, PEEFORMAT, PEEHSTR);
|
|
EESTATUS LOADDS PASCAL EEGetNameFromTM (PHTM, PEEHSTR);
|
|
EESTATUS LOADDS PASCAL EEGetTypeFromTM (PHTM, EEHSTR, PEEHSTR, ulong);
|
|
EESTATUS LOADDS PASCAL EEFormatCXTFromPCXT (PCXT, PEEHSTR, BOOL);
|
|
void LOADDS PASCAL EEFreeTM (PHTM);
|
|
|
|
EESTATUS LOADDS PASCAL EEParseBP (char FAR *, EERADIX, SHFLAG, PCXF, PTML, ulong, uint FAR *, SHFLAG);
|
|
void LOADDS PASCAL EEFreeTML (PTML);
|
|
|
|
EESTATUS LOADDS PASCAL EEInfoFromTM (PHTM, PRI, PHTI);
|
|
void LOADDS PASCAL EEFreeTI (PHTI);
|
|
|
|
EESTATUS LOADDS PASCAL EEGetCXTLFromTM(PHTM, PHCXTL);
|
|
void LOADDS PASCAL EEFreeCXTL(PHCXTL);
|
|
|
|
EESTATUS LOADDS PASCAL EEAssignTMToTM (PHTM, PHTM);
|
|
|
|
EEPDTYP LOADDS PASCAL EEIsExpandable (PHTM);
|
|
SHFLAG LOADDS PASCAL EEAreTypesEqual (PHTM, PHTM);
|
|
HTYPE LOADDS PASCAL EEGetHtypeFromTM(PHTM );
|
|
EESTATUS LOADDS PASCAL EEcChildrenTM (PHTM, long FAR *, PSHFLAG);
|
|
EESTATUS LOADDS PASCAL EEGetChildTM (PHTM, long, PHTM, uint FAR *, SHFLAG, uint);
|
|
EESTATUS LOADDS PASCAL EEDereferenceTM (PHTM, PHTM, uint FAR *, SHFLAG);
|
|
|
|
EESTATUS LOADDS PASCAL EEcParamTM (PHTM, ushort FAR *, PSHFLAG);
|
|
EESTATUS LOADDS PASCAL EEGetParmTM (PHTM, uint, PHTM, uint FAR *, SHFLAG, uint);
|
|
EESTATUS LOADDS PASCAL EEGetTMFromHSYM (HSYM, PCXT, PHTM, uint FAR *, SHFLAG);
|
|
|
|
EESTATUS LOADDS PASCAL EEFormatAddress( SHSEG, SHOFF, char FAR *, uint, uint );
|
|
EESTATUS LOADDS PASCAL EEFormatAddr(LPADDR, char FAR *, uint, uint);
|
|
EESTATUS LOADDS PASCAL EEUnFormatAddr(LPADDR, char FAR *);
|
|
EESTATUS LOADDS PASCAL EEFormatMemory(LPCH, uint, LPBYTE, uint, FMTTYPE, uint);
|
|
EESTATUS LOADDS PASCAL EEUnformatMemory(uchar FAR *, char FAR *, uint,
|
|
FMTTYPE, uint);
|
|
EESTATUS LOADDS PASCAL EEFormatEnumerate(uint, uint FAR *, uint FAR *,
|
|
uint FAR *, uint FAR *, uint FAR *,
|
|
LPCH FAR *);
|
|
|
|
|
|
EESTATUS LOADDS PASCAL EEGetHSYMList (HDEP FAR *, PCXT, ushort, uchar FAR *, SHFLAG);
|
|
void LOADDS PASCAL EEFreeHSYMList (HDEP FAR *);
|
|
|
|
void LOADDS PASCAL EESetSuffix( char );
|
|
|
|
#if MEMDBG
|
|
HDEP DbgMemAlloc(UINT,char*,UINT);
|
|
HDEP DbgMemReAlloc(HDEP,UINT,char*,UINT);
|
|
VOID DbgMemFree(HDEP,char*,UINT);
|
|
LPVOID DbgMemLock(HDEP,char*,UINT);
|
|
VOID DbgMemUnLock(HDEP,char*,UINT);
|
|
|
|
#define MHMemAllocate(x) DbgMemAlloc(x,__FILE__,__LINE__)
|
|
#define MHMemReAlloc(x,y) DbgMemReAlloc(x,y,__FILE__,__LINE__)
|
|
#define MHMemFree(x) DbgMemFree(x,__FILE__,__LINE__)
|
|
#define MHMemLock(x) DbgMemLock(x,__FILE__,__LINE__)
|
|
#define MHMemUnLock(x) DbgMemUnLock(x,__FILE__,__LINE__)
|
|
#else
|
|
#define MHMemAllocate (*pCVF->pMHMemAllocate)
|
|
#define MHMemReAlloc (*pCVF->pMHMemReAlloc)
|
|
#define MHMemFree (*pCVF->pMHMemFree)
|
|
#define MHMemLock (*pCVF->pMHMemLock)
|
|
#define MHMemUnLock (*pCVF->pMHMemUnLock)
|
|
#endif
|
|
|