]> git.saurik.com Git - apple/xnu.git/blobdiff - bsd/hfs/hfscommon/headers/CatalogPrivate.h
xnu-792.10.96.tar.gz
[apple/xnu.git] / bsd / hfs / hfscommon / headers / CatalogPrivate.h
index f5ae41fe837703a8c9cdd7457a254a66e7f52fb2..fcf12ac7cdfdb749da85a055484ba82f2d971198 100644 (file)
@@ -1,24 +1,21 @@
 /*
- * Copyright (c) 2000, 2002 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2000-2004 Apple Computer, Inc. All rights reserved.
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
- * Copyright (c) 1999-2003 Apple Computer, Inc.  All Rights Reserved.
+ * The contents of this file constitute Original Code as defined in and
+ * are subject to the Apple Public Source License Version 1.1 (the
+ * "License").  You may not use this file except in compliance with the
+ * License.  Please obtain a copy of the License at
+ * http://www.apple.com/publicsource and read it before using this file.
  * 
- * This file contains Original Code and/or Modifications of Original Code
- * as defined in and that are subject to the Apple Public Source License
- * Version 2.0 (the 'License'). You may not use this file except in
- * compliance with the License. Please obtain a copy of the License at
- * http://www.opensource.apple.com/apsl/ and read it before using this
- * file.
- * 
- * The Original Code and all software distributed under the License are
- * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+ * This Original Code and all software distributed under the License are
+ * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
- * Please see the License for the specific language governing rights and
- * limitations under the License.
+ * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT.  Please see the
+ * License for the specific language governing rights and limitations
+ * under the License.
  * 
  * @APPLE_LICENSE_HEADER_END@
  */
 #include       "FileMgrInternal.h"
 #include       "BTreesInternal.h"
 
-       #include <sys/lock.h>
-
-// private catalog data cache
-
-
-
-enum {
-       kCatalogIteratorCount = 16              // total number of Catalog iterators (shared by all HFS/HFS Plus volumes)
-};
-
-
-// Catalog Iterator Name Types
-enum {
-       kShortPascalName,
-       kShortUnicodeName,
-       kLongUnicodeName        // non-local name
-};
-
-
-// short unicode name (used by CatalogIterator)
-struct UniStr63 {
-       UInt16          length;                 /* number of unicode characters */
-       UniChar         unicode[63];            /* unicode characters */
-};
-typedef struct UniStr63 UniStr63;
-
-
-struct CatalogIterator
-{
-       struct CatalogIterator *nextMRU;        // next iterator in MRU order
-       struct CatalogIterator *nextLRU;        // next iterator in LRU order
-
-       ExtendedVCB             *volume;
-       SInt16                  currentIndex;
-       SInt16                  reserved;
-       UInt32                  currentOffset;
-       UInt32                  nextOffset;
-       HFSCatalogNodeID        folderID;
-
-       UInt32                  btreeNodeHint;  // node the key was last seen in
-       UInt16                  btreeIndexHint; // index the key was last seen at
-       UInt16                  nameType;       // { 0 = Pascal, 1 = Unicode, 3 = long name}
-       HFSCatalogNodeID        parentID;       // parent folder ID
-       union
-       {
-               Str31           pascalName;
-               UniStr63        unicodeName;
-               HFSUniStr255 *  longNamePtr;
-       } folderName;
-
-       struct lock__bsd__      iterator_lock;
-};
-typedef struct CatalogIterator CatalogIterator;
-
-
-struct CatalogCacheGlobals {
-       UInt32                  iteratorCount;  // Number of iterators in cache
-       CatalogIterator *       mru;
-       CatalogIterator *       lru;
-       UInt32                  reserved;
-       HFSUniStr255            longName;       // used by a single kLongUnicodeName iterator
-
-       simple_lock_data_t      simplelock;
-};
-typedef struct CatalogCacheGlobals CatalogCacheGlobals;
-
-
 //
 // Private Catalog Manager Routines (for use only by Catalog Manager, CatSearch and FileID Services)
 //
@@ -191,21 +121,6 @@ extern OSErr       ExchangeFiles( FIDParam *filePB, WDCBRecPtr *wdcbPtr );
 extern void    UpdateCatalogName( ConstStr31Param srcName, Str31 destName );
 
 
-// Catalog Iterator Routines
-
-extern CatalogIterator* GetCatalogIterator(ExtendedVCB *volume, HFSCatalogNodeID folderID, UInt32 offset);
-
-extern OSErr   ReleaseCatalogIterator( CatalogIterator *catalogIterator );
-
-extern void            TrashCatalogIterator( const ExtendedVCB *volume, HFSCatalogNodeID folderID );
-
-void                   AgeCatalogIterator( CatalogIterator *catalogIterator );
-
-extern void            UpdateBtreeIterator( const CatalogIterator *catalogIterator, BTreeIterator *btreeIterator );
-
-extern void            UpdateCatalogIterator( const BTreeIterator *btreeIterator, CatalogIterator *catalogIterator );
-
-
 #endif /* __APPLE_API_PRIVATE */
 #endif /* KERNEL */
 #endif //__CATALOGPRIVATE__