• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.5.8/xnu-1228.15.4/bsd/hfs/hfscommon/BTree/

Lines Matching defs:scanState

35 static int FindNextLeafNode(	BTScanState *scanState, Boolean avoidIO );
36 static int ReadMultipleNodes( BTScanState *scanState );
46 // scanState Scanner's current state
65 int BTScanNextRecord( BTScanState * scanState,
80 if ( scanState->nodesLeftInBuffer == 0 )
82 err = FindNextLeafNode( scanState, avoidIO );
88 err = GetRecordByIndex( scanState->btcb, scanState->currentNodePtr,
89 scanState->recordNum, (KeyPtr *) key,
94 ++scanState->recordsFound;
95 ++scanState->recordNum;
108 if ( scanState->recordsFound >= scanState->btcb->leafRecords )
114 scanState->recordNum = 0;
115 err = FindNextLeafNode( scanState, avoidIO );
138 // scanState Scanner's current state
147 static int FindNextLeafNode( BTScanState *scanState, Boolean avoidIO )
157 if ( scanState->nodesLeftInBuffer == 0 )
167 err = ReadMultipleNodes( scanState );
175 ++scanState->nodeNum;
176 --scanState->nodesLeftInBuffer;
179 if ( scanState->nodeNum >= scanState->btcb->totalNodes )
182 if ( scanState->nodesLeftInBuffer == 0 )
184 scanState->recordNum = 0;
188 scanState->currentNodePtr = (BTNodeDescriptor *)(((u_int8_t *)scanState->currentNodePtr)
189 + scanState->btcb->nodeSize);
194 block.buffer = scanState->currentNodePtr;
195 block.blockNum = scanState->nodeNum;
196 block.blockSize = scanState->btcb->nodeSize;
200 fref = scanState->btcb->fileRefNum;
208 printf("FindNextLeafNode: Error from hfs_swap_BTNode (node %u)\n", scanState->nodeNum);
212 if ( scanState->currentNodePtr->kind == kBTLeafNode )
309 // scanState Scanner's current state; pass to other scanner calls
336 BTScanState * scanState )
358 scanState->bufferSize = bufferSize;
359 scanState->bufferPtr = NULL;
360 scanState->btcb = btcb;
361 scanState->nodeNum = startingNode;
362 scanState->recordNum = startingRecord;
363 scanState->currentNodePtr = NULL;
364 scanState->nodesLeftInBuffer = 0; // no nodes currently in buffer
365 scanState->recordsFound = recordsFound;
366 microuptime(&scanState->startTime); // initialize our throttle
381 // scanState Scanner's current state
389 int BTScanTerminate( BTScanState * scanState,
394 *startingNode = scanState->nodeNum;
395 *startingRecord = scanState->recordNum;
396 *recordsFound = scanState->recordsFound;
398 if ( scanState->bufferPtr != NULL )
400 buf_markinvalid(scanState->bufferPtr);
401 buf_brelse( scanState->bufferPtr );
402 scanState->bufferPtr = NULL;
403 scanState->currentNodePtr = NULL;