/*++ Copyright (c) 1996 Microsoft Corporation Module Name: Index.h Abstract: This module contains definitions common to only indexsup.c and viewsup.c Author: Tom Miller [TomM] 8-Jan-1996 Revision History: --*/ // // Define all private support routines. Documentation of routine interface // is with the routine itself. // VOID NtfsGrowLookupStack ( IN PSCB Scb, IN OUT PINDEX_CONTEXT IndexContext, IN PINDEX_LOOKUP_STACK *Sp ); BOOLEAN ReadIndexBuffer ( IN PIRP_CONTEXT IrpContext, IN PSCB Scb, IN LONGLONG IndexBlock, IN BOOLEAN Reread, OUT PINDEX_LOOKUP_STACK Sp ); PINDEX_ALLOCATION_BUFFER GetIndexBuffer ( IN PIRP_CONTEXT IrpContext, IN PSCB Scb, OUT PINDEX_LOOKUP_STACK Sp, OUT PLONGLONG EndOfValidData ); VOID DeleteIndexBuffer ( IN PIRP_CONTEXT IrpContext, IN PSCB Scb, IN VCN IndexBlockNumber ); VOID FindFirstIndexEntry ( IN PIRP_CONTEXT IrpContext, IN PSCB Scb, IN PVOID Value, IN OUT PINDEX_CONTEXT IndexContext ); BOOLEAN FindNextIndexEntry ( IN PIRP_CONTEXT IrpContext, IN PSCB Scb, IN PVOID Value, IN BOOLEAN ValueContainsWildcards, IN BOOLEAN IgnoreCase, IN OUT PINDEX_CONTEXT IndexContext, IN BOOLEAN NextFlag, OUT PBOOLEAN MustRestart OPTIONAL ); PATTRIBUTE_RECORD_HEADER FindMoveableIndexRoot ( IN PIRP_CONTEXT IrpContext, IN PSCB Scb, IN OUT PINDEX_CONTEXT IndexContext ); PINDEX_ENTRY BinarySearchIndex ( IN PIRP_CONTEXT IrpContext, IN PSCB Scb, IN PINDEX_LOOKUP_STACK Sp, IN PVOID Value ); BOOLEAN AddToIndex ( IN PIRP_CONTEXT IrpContext, IN PSCB Scb, IN PINDEX_ENTRY InsertIndexEntry, IN OUT PINDEX_CONTEXT IndexContext, OUT PQUICK_INDEX QuickIndex OPTIONAL, IN BOOLEAN FindRoot ); VOID InsertSimpleRoot ( IN PIRP_CONTEXT IrpContext, IN PSCB Scb, IN PINDEX_ENTRY InsertIndexEntry, IN OUT PINDEX_CONTEXT IndexContext ); VOID PushIndexRoot ( IN PIRP_CONTEXT IrpContext, IN PSCB Scb, IN OUT PINDEX_CONTEXT IndexContext ); VOID InsertSimpleAllocation ( IN PIRP_CONTEXT IrpContext, IN PSCB Scb, IN PINDEX_ENTRY InsertIndexEntry, IN PINDEX_LOOKUP_STACK Sp, OUT PQUICK_INDEX QuickIndex OPTIONAL ); PINDEX_ENTRY InsertWithBufferSplit ( IN PIRP_CONTEXT IrpContext, IN PSCB Scb, IN PINDEX_ENTRY InsertIndexEntry, IN OUT PINDEX_CONTEXT IndexContext, OUT PQUICK_INDEX QuickIndex OPTIONAL ); VOID DeleteFromIndex ( IN PIRP_CONTEXT IrpContext, IN PSCB Scb, IN OUT PINDEX_CONTEXT IndexContext ); VOID DeleteSimple ( IN PIRP_CONTEXT IrpContext, IN PSCB Scb, IN PINDEX_ENTRY IndexEntry, IN OUT PINDEX_CONTEXT IndexContext ); VOID PruneIndex ( IN PIRP_CONTEXT IrpContext, IN PSCB Scb, IN OUT PINDEX_CONTEXT IndexContext, OUT PINDEX_ENTRY *DeleteEntry );