236 lines
7.7 KiB
C
236 lines
7.7 KiB
C
|
#ifdef __cplusplus
|
||
|
extern "C" {
|
||
|
#endif
|
||
|
|
||
|
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 SHFindNameInTypes (*pCVF->pSHFindNameInTypes)
|
||
|
#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 SHGethFileFromhMod (*pCVF->pSHGethFileFromhMod)
|
||
|
//#define SHGethModFromName (*pCVF->pSHGethModFromName)
|
||
|
#define SHGetModNameFromHexe (*pCVF->pSHGetModNameFromHexe)
|
||
|
#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 SHFindSLink32 (*pCVF->pSHFindSLink32)
|
||
|
#define PHGetNearestHsym (*pCVF->pPHGetNearestHsym)
|
||
|
#define PHFindNameInPublics (*pCVF->pPHFindNameInPublics)
|
||
|
#define THGetTypeFromIndex (*pCVF->pTHGetTypeFromIndex)
|
||
|
#define THGetNextType (*pCVF->pTHGetNextType)
|
||
|
#if CC_LAZYTYPES
|
||
|
#pragma message("using LAZYTYPES")
|
||
|
#define THAreTypesEqual (*pCVF->pTHAreTypesEqual)
|
||
|
#endif
|
||
|
#define MHMemAllocate (*pCVF->pMHMemAllocate)
|
||
|
#define MHMemReAlloc (*pCVF->pMHMemReAlloc)
|
||
|
#define MHMemFree (*pCVF->pMHMemFree)
|
||
|
#define MHMemLock (*pCVF->pMHMemLock)
|
||
|
#define MHMemUnLock (*pCVF->pMHMemUnLock)
|
||
|
#define MHIsMemLocked (*pCVF->pMHIsMemLocked)
|
||
|
#define DHExecProc (*pCVF->pDHExecProc)
|
||
|
#define DHSetupExecute (*pCVF->pDHSetupExecute)
|
||
|
#define DHStartExecute (*pCVF->pDHStartExecute)
|
||
|
#define DHCleanUpExecute (*pCVF->pDHCleanUpExecute)
|
||
|
#define SYProcessor (*pCVF->pSYProcessor)
|
||
|
#define SYGetAddr (*pCVF->pSYGetAddr)
|
||
|
#define SYSetAddr (*pCVF->pSYSetAddr)
|
||
|
#define SYGetMemInfo (*pCVF->pSYGetMemInfo)
|
||
|
|
||
|
// MAGIC NUMBERS
|
||
|
|
||
|
//#define adrPC 1
|
||
|
//#define adrBase 2
|
||
|
|
||
|
// Controls for EEFormatCXTFromPCXT
|
||
|
|
||
|
#define HCXTFMT_Short 1
|
||
|
#define HCXTFMT_No_Procedure 2
|
||
|
|
||
|
// disable the OMF lock and unlock calls for non NT builds
|
||
|
|
||
|
#define MHOmfLock(h) (h)
|
||
|
#define MHOmfUnLock(p) (0)
|
||
|
|
||
|
#define GetReg (*pCVF->pDHGetReg)
|
||
|
#define SetReg (*pCVF->pDHSetReg)
|
||
|
#define SaveReg (*pCVF->pDHSaveReg)
|
||
|
#define RestoreReg (*pCVF->pDHRestoreReg)
|
||
|
|
||
|
#define in386mode (*pCVF->pin386mode)
|
||
|
#define is_assign (*pCVF->pis_assign)
|
||
|
#ifdef HEXCASE
|
||
|
#define fHexUpper (*pCVF->pfHexUpper)
|
||
|
#endif
|
||
|
#define ArrayDefault (*pCVF->pArrayDefault)
|
||
|
#define quit (*pCVF->pquit)
|
||
|
|
||
|
|
||
|
// 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)
|
||
|
|
||
|
|
||
|
// Unicode
|
||
|
|
||
|
#define GetUnicodeStrings (pCVF->pGetUnicodeStrings)
|
||
|
|
||
|
|
||
|
// **********************************************************************
|
||
|
// * *
|
||
|
// * ASSERTION FAILURE *
|
||
|
// * *
|
||
|
// **********************************************************************
|
||
|
#define AssertOut (*pCVF->pCVAssertOut)
|
||
|
|
||
|
// **********************************************************************
|
||
|
// * *
|
||
|
// * RUN TIME CALLBACKS *
|
||
|
// * *
|
||
|
// **********************************************************************
|
||
|
|
||
|
// These may already be defined in NT; undef to avoid warnings
|
||
|
#undef ultoa
|
||
|
#undef itoa
|
||
|
#undef ltoa
|
||
|
#undef _strtold
|
||
|
|
||
|
#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))
|
||
|
#define _strtold(a, b) ((pCRF->p_strtold)(a, b))
|
||
|
|
||
|
#define eprintf (*pCRF->peprintf)
|
||
|
#define sprintf (*pCRF->psprintf)
|
||
|
|
||
|
// **********************************************************************
|
||
|
// * *
|
||
|
// * Expr Evaluator Declarations *
|
||
|
// * *
|
||
|
// **********************************************************************
|
||
|
void EEInitializeExpr (PCI, PEI);
|
||
|
void EEFreeStr (EEHSTR);
|
||
|
EESTATUS EEGetError (PHTM, EESTATUS, PEEHSTR);
|
||
|
|
||
|
EESTATUS EEParse (const char *, EERADIX, SHFLAG, PHTM, ulong *);
|
||
|
EESTATUS EEBindTM (PHTM, PCXT, SHFLAG, SHFLAG);
|
||
|
EESTATUS EEvaluateTM (PHTM, HFRAME, EEDSP);
|
||
|
|
||
|
EESTATUS EEGetExprFromTM (PHTM, PEERADIX, PEEHSTR, ulong *);
|
||
|
EESTATUS EEGetValueFromTM (PHTM, EERADIX, PEEFORMAT, PEEHSTR);
|
||
|
EESTATUS EEGetNameFromTM (PHTM, PEEHSTR);
|
||
|
EESTATUS EEGetTypeFromTM (PHTM, EEHSTR, PEEHSTR, ulong);
|
||
|
EESTATUS EEFormatCXTFromPCXT (PCXT, PEEHSTR, DWORD);
|
||
|
void EEFreeTM (PHTM);
|
||
|
|
||
|
EESTATUS EEParseBP (char *, EERADIX, SHFLAG, PCXF, PTML, ulong, ulong *, SHFLAG);
|
||
|
void EEFreeTML (PTML);
|
||
|
|
||
|
EESTATUS EEInfoFromTM (PHTM, PRI, PHTI);
|
||
|
void EEFreeTI (PHTI);
|
||
|
|
||
|
EESTATUS EEGetCXTLFromTM(PHTM, PHCXTL);
|
||
|
void EEFreeCXTL(PHCXTL);
|
||
|
|
||
|
EESTATUS EEAssignTMToTM (PHTM, PHTM);
|
||
|
|
||
|
EEPDTYP EEIsExpandable (PHTM);
|
||
|
SHFLAG EEAreTypesEqual (PHTM, PHTM);
|
||
|
EESTATUS EEcChildrenTM (PHTM, long *, PSHFLAG);
|
||
|
EESTATUS EEGetChildTM (PHTM, long, PHTM, ulong *, EERADIX, SHFLAG);
|
||
|
EESTATUS EEDereferenceTM (PHTM, PHTM, ulong *, SHFLAG);
|
||
|
|
||
|
EESTATUS EEcParamTM (PHTM, ulong *, PSHFLAG);
|
||
|
EESTATUS EEGetParmTM (PHTM, ulong, PHTM, ulong *, SHFLAG);
|
||
|
EESTATUS EEGetTMFromHSYM (HSYM, PCXT, PHTM, ulong *, SHFLAG, SHFLAG);
|
||
|
|
||
|
EESTATUS EEFormatAddress( PADDR, char *, DWORD, SHFLAG);
|
||
|
EESTATUS EEGetHSYMList (HDEP *, PCXT, ulong, uchar *, SHFLAG);
|
||
|
void EEFreeHSYMList (HDEP *);
|
||
|
EESTATUS EEGetExtendedTypeInfo (PHTM, PETI);
|
||
|
EESTATUS EEGetAccessFromTM (PHTM, PEEHSTR, ULONG);
|
||
|
BOOL EEEnableAutoClassCast(BOOL);
|
||
|
void EEInvalidateCache(void);
|
||
|
EESTATUS EEcSynthChildTM(PHTM, long *);
|
||
|
EESTATUS EEGetBCIA(PHTM, PHBCIA);
|
||
|
void EEFreeBCIA(PHBCIA);
|
||
|
|
||
|
|
||
|
INLINE HDEP
|
||
|
MemAllocate (
|
||
|
UINT cb
|
||
|
)
|
||
|
{
|
||
|
return (MHMemAllocate (cb));
|
||
|
}
|
||
|
|
||
|
|
||
|
INLINE void
|
||
|
MemFree (
|
||
|
HDEP hMem
|
||
|
)
|
||
|
{
|
||
|
MHMemFree (hMem);
|
||
|
}
|
||
|
|
||
|
INLINE HVOID
|
||
|
MemLock (
|
||
|
HDEP hMem
|
||
|
)
|
||
|
{
|
||
|
return (MHMemLock (hMem));
|
||
|
}
|
||
|
|
||
|
INLINE HDEP
|
||
|
MemReAlloc (
|
||
|
HDEP hMem,
|
||
|
uint cb
|
||
|
)
|
||
|
{
|
||
|
return (MHMemReAlloc (hMem, cb));
|
||
|
}
|
||
|
|
||
|
|
||
|
INLINE void
|
||
|
MemUnLock (
|
||
|
HDEP hMem
|
||
|
)
|
||
|
{
|
||
|
MHMemUnLock (hMem);
|
||
|
}
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
} // extern "C" {
|
||
|
#endif
|