Source code of Windows XP (NT5)
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.

47 lines
1.2 KiB

  1. /* structure used by BMExpungelink to fix indexes
  2. /**/
  3. typedef struct _bmfix {
  4. PIB *ppib; /* bm cleanup thread */
  5. FUCB *pfucb; /* cursor to node */
  6. FUCB *pfucbSrc; /* cursor to backlink */
  7. BF **rgpbf; /* wait latched buffers required for bmfix */
  8. INT cpbf;
  9. INT cpbfMax;
  10. SRID sridOld;
  11. SRID sridNew;
  12. } BMFIX;
  13. /* register pages for bookmark cleanup. To register a page, the pn
  14. /* of the page, pgno of domain FDP and srid of visible father are
  15. /* needed.
  16. /**/
  17. ERR ErrMPLInit( VOID );
  18. VOID MPLTerm( VOID );
  19. VOID MPLRegister( FCB *pfcb, SSIB *pssib, PN pn, SRID sridFather );
  20. VOID MPLPurge(DBID dbid);
  21. VOID MPLPurgeFDP( DBID dbid, PGNO pgnoFDP );
  22. VOID MPLPurgePgno( DBID dbid, PGNO pgnoFirst, PGNO pgnoLast );
  23. extern PIB *ppibBMClean;
  24. ERR ErrBMInit( VOID );
  25. ERR ErrBMTerm( VOID );
  26. ERR ErrBMDoEmptyPage(
  27. FUCB *pfucb,
  28. RMPAGE *prmpage,
  29. BOOL fAllocBuf,
  30. BOOL *pfRmParent,
  31. BOOL fSkipDelete);
  32. ERR ErrBMDoMerge( FUCB *pfucb, FUCB *pfucbRight, SPLIT *psplit );
  33. ERR ErrBMAddToLatchedBFList( RMPAGE *prmpage, BF *pbfLatched );
  34. ERR ErrBMClean( PIB *ppib );
  35. #ifdef DEBUG
  36. VOID AssertNotInMPL( DBID dbid, PGNO pgnoFirst, PGNO pgnoLast );
  37. VOID AssertMPLPurgeFDP( DBID dbid, PGNO pgnoFDP );
  38. #endif