|
Mac OS 9
|
On-disk data structures for HFS and HFS Plus volumes. More...
Go to the source code of this file.
Data Structures | |
| struct | HFSExtentKey |
| struct | HFSPlusExtentKey |
| struct | HFSExtentDescriptor |
| struct | HFSPlusExtentDescriptor |
| struct | HFSPlusForkData |
| struct | HFSPlusPermissions |
| struct | HFSCatalogKey |
| struct | HFSPlusCatalogKey |
| struct | HFSCatalogFolder |
| struct | HFSPlusCatalogFolder |
| struct | HFSCatalogFile |
| struct | HFSPlusCatalogFile |
| struct | HFSCatalogThread |
| struct | HFSPlusCatalogThread |
| struct | HFSPlusAttrInlineData |
| struct | HFSPlusAttrForkData |
| struct | HFSPlusAttrExtents |
| union | HFSPlusAttrRecord |
| struct | HFSMasterDirectoryBlock |
| struct | HFSPlusVolumeHeader |
| struct | BTNodeDescriptor |
| struct | BTHeaderRec |
Typedefs | |
| typedef UInt32 | HFSCatalogNodeID |
| typedef struct HFSExtentKey | HFSExtentKey |
| typedef struct HFSPlusExtentKey | HFSPlusExtentKey |
| typedef struct HFSExtentDescriptor | HFSExtentDescriptor |
| typedef struct HFSPlusExtentDescriptor | HFSPlusExtentDescriptor |
| typedef HFSExtentDescriptor | HFSExtentRecord[3] |
| typedef HFSPlusExtentDescriptor | HFSPlusExtentRecord[8] |
| typedef struct HFSPlusForkData | HFSPlusForkData |
| typedef struct HFSPlusPermissions | HFSPlusPermissions |
| typedef struct HFSCatalogKey | HFSCatalogKey |
| typedef struct HFSPlusCatalogKey | HFSPlusCatalogKey |
| typedef struct HFSCatalogFolder | HFSCatalogFolder |
| typedef struct HFSPlusCatalogFolder | HFSPlusCatalogFolder |
| typedef struct HFSCatalogFile | HFSCatalogFile |
| typedef struct HFSPlusCatalogFile | HFSPlusCatalogFile |
| typedef struct HFSCatalogThread | HFSCatalogThread |
| typedef struct HFSPlusCatalogThread | HFSPlusCatalogThread |
| typedef struct HFSPlusAttrInlineData | HFSPlusAttrInlineData |
| typedef struct HFSPlusAttrForkData | HFSPlusAttrForkData |
| typedef struct HFSPlusAttrExtents | HFSPlusAttrExtents |
| typedef union HFSPlusAttrRecord | HFSPlusAttrRecord |
| typedef struct HFSMasterDirectoryBlock | HFSMasterDirectoryBlock |
| typedef struct HFSPlusVolumeHeader | HFSPlusVolumeHeader |
| typedef struct BTNodeDescriptor | BTNodeDescriptor |
| typedef struct BTHeaderRec | BTHeaderRec |
Enumerations | |
| enum | { kHFSSigWord = 0x4244 , kHFSPlusSigWord = 0x482B , kHFSPlusVersion = 0x0004 , kHFSPlusMountVersion } |
| enum | { kHFSMaxVolumeNameChars = 27 , kHFSMaxFileNameChars = 31 , kHFSPlusMaxFileNameChars = 255 } |
| enum | { kHFSExtentDensity = 3 , kHFSPlusExtentDensity = 8 } |
| enum | { kHFSRootParentID = 1 , kHFSRootFolderID = 2 , kHFSExtentsFileID = 3 , kHFSCatalogFileID = 4 , kHFSBadBlockFileID = 5 , kHFSAllocationFileID , kHFSStartupFileID = 7 , kHFSAttributesFileID = 8 , kHFSBogusExtentFileID = 15 , kHFSFirstUserCatalogNodeID = 16 } |
| enum | { kHFSFolderRecord = 0x0100 , kHFSFileRecord = 0x0200 , kHFSFolderThreadRecord = 0x0300 , kHFSFileThreadRecord = 0x0400 , kHFSPlusFolderRecord = 1 , kHFSPlusFileRecord = 2 , kHFSPlusFolderThreadRecord = 3 , kHFSPlusFileThreadRecord = 4 } |
| enum | { kHFSFileLockedBit = 0x0000 , kHFSFileLockedMask = 0x0001 , kHFSThreadExistsBit = 0x0001 , kHFSThreadExistsMask = 0x0002 } |
| enum | { kHFSPlusAttrInlineData = 0x10 , kHFSPlusAttrForkData = 0x20 , kHFSPlusAttrExtents = 0x30 } |
| enum | { kHFSPlusExtentKeyMaximumLength = sizeof(HFSPlusExtentKey) - sizeof(UInt16) , kHFSExtentKeyMaximumLength = sizeof(HFSExtentKey) - sizeof(UInt8) , kHFSPlusCatalogKeyMaximumLength = sizeof(HFSPlusCatalogKey) - sizeof(UInt16) , kHFSPlusCatalogKeyMinimumLength , kHFSCatalogKeyMaximumLength = sizeof(HFSCatalogKey) - sizeof(UInt8) , kHFSCatalogKeyMinimumLength , kHFSPlusCatalogMinNodeSize = 4096 , kHFSPlusExtentMinNodeSize = 512 , kHFSPlusAttrMinNodeSize = 4096 } |
| enum | { kHFSVolumeHardwareLockBit = 7 , kHFSVolumeUnmountedBit = 8 , kHFSVolumeSparedBlocksBit = 9 , kHFSVolumeNoCacheRequiredBit , kHFSBootVolumeInconsistentBit , kHFSVolumeSoftwareLockBit = 15 , kHFSVolumeHardwareLockMask = 1 << kHFSVolumeHardwareLockBit , kHFSVolumeUnmountedMask = 1 << kHFSVolumeUnmountedBit , kHFSVolumeSparedBlocksMask = 1 << kHFSVolumeSparedBlocksBit , kHFSVolumeNoCacheRequiredMask = 1 << kHFSVolumeNoCacheRequiredBit , kHFSBootVolumeInconsistentMask = 1 << kHFSBootVolumeInconsistentBit , kHFSVolumeSoftwareLockMask = 1 << kHFSVolumeSoftwareLockBit , kHFSMDBAttributesMask = 0x8380 } |
| enum | { kHFSCatalogNodeIDsReusedBit = 12 , kHFSCatalogNodeIDsReusedMask = 1 << kHFSCatalogNodeIDsReusedBit } |
| enum | { kBTLeafNode = -1 , kBTIndexNode = 0 , kBTHeaderNode = 1 , kBTMapNode = 2 } |
| enum | { kBTBadCloseMask = 0x00000001 , kBTBigKeysMask = 0x00000002 , kBTVariableIndexKeysMask } |
On-disk data structures for HFS and HFS Plus volumes.
For bug reports, consult the following page on the World Wide Web:
http://developer.apple.com/bugreporter/
| typedef UInt32 HFSCatalogNodeID |
CatalogNodeID is used to track catalog objects
| typedef HFSExtentDescriptor HFSExtentRecord[3] |
HFS extent record
| typedef HFSPlusExtentDescriptor HFSPlusExtentRecord[8] |
HFS Plus extent record
| anonymous enum |
| anonymous enum |
Number of extent descriptors per extent record
| anonymous enum |
Catalog file data structures
| anonymous enum |
Catalog record types
| anonymous enum |
| anonymous enum |
| anonymous enum |
Key and node lengths
| anonymous enum |
HFS and HFS Plus volume attribute bits
| anonymous enum |
Constants for BTNodeDescriptor kind
| anonymous enum |
Constants for BTHeaderRec attributes
| Enumerator | |
|---|---|
| kBTBigKeysMask | reserved |
| kBTVariableIndexKeysMask | key length field is 16 bits |