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.
 
 
 
 
 
 

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"