windows-nt/Source/XPSP1/NT/net/jet500/xjet/inc/fileint.h
2020-09-26 16:20:57 +08:00

68 lines
2 KiB
C
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

typedef struct
{
FID fidFixedLast;
FID fidVarLast;
FID fidTaggedLast;
} TCIB;
#define fBumpIndexCount (1<<0)
#define fDropIndexCount (1<<1)
#define fDDLStamp (1<<2)
ERR ErrFILEIUpdateFDPData( FUCB *pfucb, ULONG grbit );
/* field and index definition
/**/
ERR ErrFILEICheckIndexColumn( FCB *pfcbIndex, FID fid );
ERR ErrFILEGetNextColumnid( JET_COLTYP coltyp, JET_GRBIT grbit, TCIB *ptcib,
JET_COLUMNID *pcolumnid );
ERR ErrFILEIGenerateIDB(FCB *pfcb, FDB *pfdb, IDB *pidb);
#define RECFreeIDB(pidb) { MEMReleasePidb(pidb); }
ERR ErrRECNewFDB( FDB **ppfdb, TCIB *ptcib, BOOL fAllocateNameSpace );
VOID FILEAddOffsetEntry( FDB *pfdb, FIELDEX *pfieldex );
ERR ErrRECAddFieldDef( FDB *pfdb, FIELDEX *pfieldex );
VOID FDBSet( FCB *pfcb, FDB *pfdb );
ERR ErrFDBRebuildDefaultRec( FDB *pfdb, FID fidAddDelete, LINE *plineDefault );
ERR ErrFILEPrepareDefaultRecord( FUCB *pfucbFake, FCB *pfcbFake, FDB *pfdb );
ERR ErrRECSetDefaultValue( FUCB *pfucbFake, FID fid, BYTE *pbDefault, ULONG cbDefault );
#define FILEFreeDefaultRecord( pfucbFake ) BFSFree( (pfucbFake)->pbfWorkBuf )
VOID FDBDestruct( FDB *pfdb );
ERR ErrFILEIGenerateFCB(
PIB *ppib,
DBID dbid,
FCB **ppfcb,
PGNO pgnoTableFDP,
CHAR *szFileName,
BOOL fCreatingSys );
ERR ErrFILEINewFCB(
PIB *ppib,
DBID dbid,
FDB *pfdb,
FCB **ppfcbNew,
IDB *pidb,
BOOL fClustered,
PGNO pgnoFDP,
ULONG ulDensity );
VOID FILEIDeallocateFileFCB( FCB *pfcb );
VOID FILESetAllIndexMask( FCB *pfcbTable );
ERR ErrFILEDeleteTable( PIB *ppib, DBID dbid, CHAR *szName, PGNO pgnoFDP );
FIELD *PfieldFDBFromFid( FDB *pfdb, FID fid );
FIELD *PfieldFCBFromColumnName( FCB *pfcb, CHAR *szColumnName );
#define PfieldFCBFromColumnid( pfcb, fid ) PfieldFDBFromFid( (FDB*)pfcb->pfdb, fid )
FCB *PfcbFCBFromIndexName( FCB *pfcbTable, CHAR *szName );
SHORT FidbFILEOfGrbit( JET_GRBIT grbit, BOOL fLangid );
#ifdef DEBUG
VOID RECSetLastOffset( FDB *pfdb, WORD ibRec );
#else
#define RECSetLastOffset( pfdb, ibRec ) ( PibFDBFixedOffsets( pfdb )[(pfdb)->fidFixedLast] = ibRec )
#endif