• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /xnu-2782.1.97/bsd/hfs/hfscommon/BTree/

Lines Matching defs:node

61 	   								that we get a full node when we call GetNode. 
67 and we have to move to another node, see if we need to release
68 the node about to be "shifted out" (opposite sibling of the
80 <HFS7> 2/19/97 djb Enable variable sized index keys for HFS+ volumes. Added node
110 the next record. In such a case, if the node's forrward link is
117 <23> 1/31/95 prp GetBlockProc interface uses a 64 bit node number.
119 <21> 11/16/94 prp Add IsItAHint routine and use it whenever hint's node number was
133 <12> 8/16/93 prp In BTSearchRecord, if the input hint found the node and record,
139 <9> 5/24/93 gs Fix bug in BTInsert/Set/ReplaceRecord which didn't set node hint
257 Panic("BTOpen: getNodeProc returned error getting header node.");
272 PanicIf ( (FCBTOVCB(filePtr)->vcbSigWord != 0x4244) && (header->nodeSize == 512), " BTOpenPath: wrong node size for HFS+ volume!"); // 0x4244 = 'BD'
304 /* b-tree node size must be at least as big as the logical block size */
320 * If the actual node size is different than the amount we read,
322 * node size.
331 * buffer cache to read the entire node
341 //�� total nodes * node size <= LEOF?
349 * allocation block size is smaller than the b-tree node size.
363 //�� align LEOF to multiple of node size? - just on close
384 Function: Flush the BTreeControlBlock fields to header node, and delete BTree control
431 Function: Search for position in B*Tree indicated by searchKey. If a valid node hint
467 BlockDescriptor node;
485 node.buffer = nil;
486 node.blockHeader = nil;
507 err = GetNode (btreePtr, nodeNum, kGetNodeHint, &node);
510 if ( ((BTNodeDescriptor*) node.buffer)->kind == kBTLeafNode &&
511 ((BTNodeDescriptor*) node.buffer)->numRecords > 0 )
513 foundRecord = SearchNode (btreePtr, node.buffer, &searchIterator->key, &index);
520 err = ReleaseNode (btreePtr, &node);
538 err = SearchTree ( btreePtr, &searchIterator->key, treePathTable, &nodeNum, &node, &index);
557 GetRecordByIndex (btreePtr, node.buffer, index, &keyPtr, &recordPtr, &len);
596 err = ReleaseNode (btreePtr, &node);
664 BlockDescriptor left, node, right;
674 node.buffer = nil;
675 node.blockHeader = nil;
714 err = GetNode (btreePtr, nodeNum, 0, &node);
717 if ( ((NodeDescPtr) node.buffer)->kind != kBTLeafNode ||
718 ((NodeDescPtr) node.buffer)->numRecords <= 0 )
720 err = ReleaseNode (btreePtr, &node);
724 printf ("hfs: BTIterateRecord() found invalid btree node on volume %s\n", FCBTOVCB(filePtr)->vcbVN);
730 else index = ((BTNodeDescriptor*) node.buffer)->numRecords - 1;
740 &left, &node, &right, &nodeNum, &index, &foundRecord);
756 nodeNum = ((NodeDescPtr) node.buffer)->bLink;
760 // Therefore release the current node before looking up the
761 // left node.
762 err = ReleaseNode(btreePtr, &node);
765 // Look up the left node
769 // Look up the current node again
770 err = GetRightSiblingNode (btreePtr, left.buffer, &node);
782 right = node;
783 node = left;
785 index = ((NodeDescPtr) node.buffer)->numRecords -1;
791 (((NodeDescPtr) node.buffer)->fLink == 0) &&
792 (index == ((NodeDescPtr) node.buffer)->numRecords))
799 if ((foundRecord == false) && (index != ((NodeDescPtr) node.buffer)->numRecords))
802 // we found the record OR we have to look in the next node
803 if (index < ((NodeDescPtr) node.buffer)->numRecords -1)
811 nodeNum = ((NodeDescPtr) node.buffer)->fLink;
826 left = node;
827 node = right;
836 (index >= ((NodeDescPtr) node.buffer)->numRecords))
848 err = GetRecordByIndex (btreePtr, node.buffer, index, &keyPtr, &recordPtr, &len);
892 printf ("hfs: BTIterateRecord() found invalid btree node on volume %s\n", FCBTOVCB(filePtr)->vcbVN);
904 err = ReleaseNode (btreePtr, &node);
926 (void) ReleaseNode (btreePtr, &node);
980 BlockDescriptor left, node, right;
990 node.buffer = nil;
991 node.blockHeader = nil;
1022 err = GetNode(btreePtr, nodeNum, 0, &node);
1025 if ( ((NodeDescPtr)node.buffer)->kind != kBTLeafNode ||
1026 ((NodeDescPtr)node.buffer)->numRecords <= 0 )
1028 err = ReleaseNode(btreePtr, &node);
1032 printf ("hfs: BTIterateRecords() found invalid btree node on volume %s\n", FCBTOVCB(filePtr)->vcbVN);
1040 index = ((BTNodeDescriptor*) node.buffer)->numRecords - 1;
1048 err = FindIteratorPosition(btreePtr, iterator, &left, &node, &right,
1067 nodeNum = ((NodeDescPtr) node.buffer)->bLink;
1071 // Therefore release the current node before looking up the
1072 // left node.
1073 err = ReleaseNode(btreePtr, &node);
1076 // Look up the left node
1080 // Look up the current node again
1081 err = GetRightSiblingNode (btreePtr, left.buffer, &node);
1093 right = node;
1094 node = left;
1096 index = ((NodeDescPtr) node.buffer)->numRecords -1;
1102 (((NodeDescPtr)node.buffer)->fLink == 0) &&
1103 (index == ((NodeDescPtr)node.buffer)->numRecords))
1110 if ((foundRecord == false) && (index != ((NodeDescPtr)node.buffer)->numRecords))
1113 // we found the record OR we have to look in the next node
1114 if (index < ((NodeDescPtr)node.buffer)->numRecords -1)
1122 nodeNum = ((NodeDescPtr)node.buffer)->fLink;
1137 left = node;
1138 node = right;
1147 (index >= ((NodeDescPtr)node.buffer)->numRecords))
1157 err = GetRecordByIndex(btreePtr, node.buffer, index, &keyPtr, &recordPtr, &len);
1167 if ((index+1) < ((NodeDescPtr)node.buffer)->numRecords) {
1172 nodeNum = ((NodeDescPtr)node.buffer)->fLink;
1187 left = node;
1188 node = right;
1192 err = GetRecordByIndex(btreePtr, node.buffer, index,
1218 err = ReleaseNode(btreePtr, &node);
1240 (void) ReleaseNode(btreePtr, &node);
1301 case fsBTEmptyErr: // if tree empty add 1st leaf node
1332 * calling UpdateNode since it will compare the node's
1372 if (nodesNeeded > CalcMapBits (btreePtr)) // we'll need to add a map node too!
1523 if (nodesNeeded > CalcMapBits (btreePtr)) // we'll need to add a map node too!
1860 BlockDescriptor node;
1864 node.buffer = nil;
1865 node.blockHeader = nil;
1873 err = GetNode(btreePtr, kHeaderNodeNum, 0, &node);
1877 header = (BTHeaderRec*)((char *)node.buffer + sizeof(BTNodeDescriptor));
1892 (void) ReleaseNode(btreePtr, &node);
2021 Function: Read the user data area of the b-tree header node.
2028 BlockDescriptor node;
2034 node.buffer = nil;
2035 node.blockHeader = nil;
2043 err = GetNode(btreePtr, kHeaderNodeNum, 0, &node);
2047 offset = (char *)node.buffer + sizeof(BTNodeDescriptor) + sizeof(BTHeaderRec);
2050 (void) ReleaseNode(btreePtr, &node);
2059 Function: Write the user data area of the b-tree header node.
2065 BlockDescriptor node;
2071 node.buffer = nil;
2072 node.blockHeader = nil;
2080 err = GetNode(btreePtr, kHeaderNodeNum, 0, &node);
2084 ModifyBlockStart(btreePtr->fileRefNum, &node);
2086 offset = (char *)node.buffer + sizeof(BTNodeDescriptor) + sizeof(BTHeaderRec);
2089 err = UpdateNode (btreePtr, &node, 0, 0);