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.
178 lines
3.7 KiB
178 lines
3.7 KiB
//-----------------------------------------------------------------------------
|
|
// MreC_Api.cpp
|
|
//
|
|
// Copyright (C) 1993, Microsoft Corporation
|
|
//
|
|
// Purpose:
|
|
// provide the C api thunks to the MRE, MREF, and MREB classes/api
|
|
//
|
|
// Revision History:
|
|
//
|
|
// [] 15-Jan-1995 Dans Created
|
|
//
|
|
//-----------------------------------------------------------------------------
|
|
#include "pdbimpl.h"
|
|
#include "mrimpl.h"
|
|
//
|
|
// C bindings/wrapper functions
|
|
//
|
|
extern "C" {
|
|
|
|
// MREngine (implemented in MRE) C apis
|
|
MREAPI ( BOOL )
|
|
MREFOpen ( OUT PMREngine * ppmre, PPDB ppdb, PNMP pnmp, BOOL fWrite ) {
|
|
return MRE::FOpen ( ppmre, ppdb, pnmp, fWrite );
|
|
}
|
|
|
|
MREAPI ( BOOL )
|
|
MREFOpenEx ( OUT PMREngine * ppmre, PMreToPdb pmretopdb, BOOL fWrite ) {
|
|
return MRE::FOpen ( ppmre, pmretopdb, fWrite );
|
|
}
|
|
|
|
MREAPI ( BOOL )
|
|
MREFOpenByName (
|
|
PMREngine * ppmre,
|
|
SZC szPdb,
|
|
EC * pec,
|
|
_TCHAR szErr[ cbErrMax ],
|
|
BOOL fReproSig,
|
|
BOOL fWrite ) {
|
|
|
|
return MRE::FOpen ( ppmre, szPdb, *pec, szErr, fReproSig, fWrite );
|
|
}
|
|
|
|
MREAPI ( BOOL )
|
|
MREFDelete ( PMREngine pmre ) {
|
|
return pmre->FDelete();
|
|
}
|
|
|
|
MREAPI ( BOOL )
|
|
MREFClose ( PMREngine pmre, BOOL fCommit ) {
|
|
return pmre->FClose ( fCommit );
|
|
}
|
|
|
|
MREAPI ( void )
|
|
MREQueryMreDrv ( PMREngine pmre, PMREDrv * ppmreDrv ) {
|
|
assert ( ppmreDrv );
|
|
pmre->QueryMreDrv ( *ppmreDrv );
|
|
}
|
|
|
|
MREAPI ( void )
|
|
MREQueryMreCmp ( PMREngine pmre, PMRECmp * ppmreCmp, TPI * ptpi ) {
|
|
assert ( ppmreCmp );
|
|
pmre->QueryMreCmp ( *ppmreCmp, ptpi );
|
|
}
|
|
|
|
MREAPI ( void )
|
|
MREQueryMreUtil ( PMREngine pmre, PMREUtil * ppmreUtil ) {
|
|
assert ( ppmreUtil );
|
|
pmre->QueryMreUtil ( *ppmreUtil );
|
|
}
|
|
|
|
// MRECmp (implemented in MRE) C apis
|
|
MREAPI ( BOOL )
|
|
MRECmpFOpenCompiland (
|
|
PMRECmp pmrecmp,
|
|
OUT PMREFile * ppmrefile,
|
|
IN SZC szFileSrc,
|
|
IN SZC szFileTarg
|
|
) {
|
|
return pmrecmp->FOpenCompiland ( ppmrefile, szFileSrc, szFileTarg );
|
|
}
|
|
|
|
MREAPI ( BOOL )
|
|
MRECmpFCloseCompiland ( PMRECmp pmrecmp, PMREFile pmrefile, BOOL fCommit ) {
|
|
return pmrecmp->FCloseCompiland ( pmrefile, fCommit );
|
|
}
|
|
|
|
MREAPI ( BOOL )
|
|
MRECmpFPushFile (
|
|
PMRECmp pmrecmp,
|
|
PMREFile * ppmrefile,
|
|
SZC szFile,
|
|
HANDLE hFile
|
|
) {
|
|
return pmrecmp->FPushFile ( ppmrefile, szFile, hFile );
|
|
}
|
|
|
|
MREAPI ( PMREFile )
|
|
MRECmpPmrefilePopFile ( PMRECmp pmrecmp ) {
|
|
return pmrecmp->PmrefilePopFile();
|
|
}
|
|
|
|
MREAPI ( void )
|
|
MRECmpClassIsBoring ( PMRECmp pmrecmp, NI niClass ) {
|
|
pmrecmp->ClassIsBoring ( niClass );
|
|
}
|
|
|
|
|
|
|
|
// MREDrv (implemented in MRE) C apis
|
|
MREAPI ( BOOL )
|
|
MREDrvFRefreshFileSysInfo ( PMREDrv pmredrv ) {
|
|
return pmredrv->FRefreshFileSysInfo();
|
|
}
|
|
|
|
MREAPI ( BOOL )
|
|
MREDrvFSuccessfulCompile (
|
|
PMREDrv pmredrv,
|
|
BOOL fOk,
|
|
SZC szFileSrc,
|
|
SZC szFileTarg
|
|
) {
|
|
return pmredrv->FSuccessfulCompile ( fOk, szFileSrc, szFileTarg );
|
|
}
|
|
|
|
MREAPI ( YNM )
|
|
MREDrvYnmFileOutOfDate ( PMREDrv pmredrv, SRCTARG * psrctarg ) {
|
|
return pmredrv->YnmFileOutOfDate ( *psrctarg );
|
|
}
|
|
|
|
MREAPI ( BOOL )
|
|
MREDrvFFilesOutOfDate ( PMREDrv pmredrv, PCAList pCAList ) {
|
|
return pmredrv->FFilesOutOfDate ( pCAList );
|
|
}
|
|
|
|
MREAPI ( BOOL )
|
|
MREDrvFUpdateTargetFile ( PMREDrv pmredrv, SZC szTarget, TrgType trgtype ) {
|
|
return pmredrv->FUpdateTargetFile ( szTarget, trgtype );
|
|
}
|
|
|
|
|
|
MREAPI ( BOOL )
|
|
MREDrvFRelease ( PMREDrv pmredrv ) {
|
|
return pmredrv->FRelease();
|
|
}
|
|
|
|
MREAPI ( void )
|
|
MREDrvOneTimeInit ( PMREDrv pmredrv ) {
|
|
pmredrv->OneTimeInit();
|
|
}
|
|
|
|
// MREUtil (implemented in MRE) C apis
|
|
// C interfaces for MREFile
|
|
MREAPI ( BOOL )
|
|
MREFileFOpenBag ( PMREFile pmrefile, PMREBag * ppmrebag, NI ni ) {
|
|
return pmrefile->FOpenBag ( ppmrebag, ni );
|
|
}
|
|
|
|
// C interfaces for MREBag
|
|
MREAPI ( BOOL )
|
|
MREBagFAddDep (
|
|
PMREBag pmrebag,
|
|
NI niDep,
|
|
TI tiDep,
|
|
SZC szMemberName,
|
|
DEPON depon
|
|
) {
|
|
return pmrebag->FAddDep ( niDep, tiDep, szMemberName, depon );
|
|
}
|
|
|
|
MREAPI ( BOOL )
|
|
MREBagFClose ( PMREBag pmrebag ) {
|
|
return pmrebag->FClose();
|
|
}
|
|
|
|
|
|
|
|
} // extern "C"
|