/*
- * Copyright (c) 2000, 2002 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2000-2004 Apple Computer, Inc. All rights reserved.
*
* @APPLE_LICENSE_HEADER_START@
*
#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)
//
extern OSErr ExchangeFiles( FIDParam *filePB, WDCBRecPtr *wdcbPtr );
#endif
-
-// 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 );
+extern void UpdateCatalogName( ConstStr31Param srcName, Str31 destName );
#endif /* __APPLE_API_PRIVATE */