Leaked source code of windows server 2003
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.

67 lines
2.1 KiB

  1. typedef struct
  2. {
  3. FID fidFixedLast;
  4. FID fidVarLast;
  5. FID fidTaggedLast;
  6. } TCIB;
  7. #define fBumpIndexCount (1<<0)
  8. #define fDropIndexCount (1<<1)
  9. #define fDDLStamp (1<<2)
  10. ERR ErrFILEIUpdateFDPData( FUCB *pfucb, ULONG grbit );
  11. /* field and index definition
  12. /**/
  13. ERR ErrFILEICheckIndexColumn( FCB *pfcbIndex, FID fid );
  14. ERR ErrFILEGetNextColumnid( JET_COLTYP coltyp, JET_GRBIT grbit, TCIB *ptcib,
  15. JET_COLUMNID *pcolumnid );
  16. ERR ErrFILEIGenerateIDB(FCB *pfcb, FDB *pfdb, IDB *pidb);
  17. #define RECFreeIDB(pidb) { MEMReleasePidb(pidb); }
  18. ERR ErrRECNewFDB( FDB **ppfdb, TCIB *ptcib, BOOL fAllocateNameSpace );
  19. VOID FILEAddOffsetEntry( FDB *pfdb, FIELDEX *pfieldex );
  20. ERR ErrRECAddFieldDef( FDB *pfdb, FIELDEX *pfieldex );
  21. VOID FDBSet( FCB *pfcb, FDB *pfdb );
  22. ERR ErrFDBRebuildDefaultRec( FDB *pfdb, FID fidAddDelete, LINE *plineDefault );
  23. ERR ErrFILEPrepareDefaultRecord( FUCB *pfucbFake, FCB *pfcbFake, FDB *pfdb );
  24. ERR ErrRECSetDefaultValue( FUCB *pfucbFake, FID fid, BYTE *pbDefault, ULONG cbDefault );
  25. #define FILEFreeDefaultRecord( pfucbFake ) BFSFree( (pfucbFake)->pbfWorkBuf )
  26. VOID FDBDestruct( FDB *pfdb );
  27. ERR ErrFILEIGenerateFCB(
  28. PIB *ppib,
  29. DBID dbid,
  30. FCB **ppfcb,
  31. PGNO pgnoTableFDP,
  32. CHAR *szFileName,
  33. BOOL fCreatingSys );
  34. ERR ErrFILEINewFCB(
  35. PIB *ppib,
  36. DBID dbid,
  37. FDB *pfdb,
  38. FCB **ppfcbNew,
  39. IDB *pidb,
  40. BOOL fClustered,
  41. PGNO pgnoFDP,
  42. ULONG ulDensity );
  43. VOID FILEIDeallocateFileFCB( FCB *pfcb );
  44. VOID FILESetAllIndexMask( FCB *pfcbTable );
  45. ERR ErrFILEDeleteTable( PIB *ppib, DBID dbid, CHAR *szName, PGNO pgnoFDP );
  46. FIELD *PfieldFDBFromFid( FDB *pfdb, FID fid );
  47. FIELD *PfieldFCBFromColumnName( FCB *pfcb, CHAR *szColumnName );
  48. #define PfieldFCBFromColumnid( pfcb, fid ) PfieldFDBFromFid( (FDB*)pfcb->pfdb, fid )
  49. FCB *PfcbFCBFromIndexName( FCB *pfcbTable, CHAR *szName );
  50. SHORT FidbFILEOfGrbit( JET_GRBIT grbit, BOOL fLangid );
  51. #ifdef DEBUG
  52. VOID RECSetLastOffset( FDB *pfdb, WORD ibRec );
  53. #else
  54. #define RECSetLastOffset( pfdb, ibRec ) ( PibFDBFixedOffsets( pfdb )[(pfdb)->fidFixedLast] = ibRec )
  55. #endif
  56.