19 #ifndef __HFSVOLUMES__
20 #define __HFSVOLUMES__
46 #if PRAGMA_STRUCT_ALIGN
47 #pragma options align = mac68k
48 #elif PRAGMA_STRUCT_PACKPUSH
50 #elif PRAGMA_STRUCT_PACK
61 FOUR_CHAR_CODE(
'8.10')
68 kHFSMaxVolumeNameChars = 27,
69 kHFSMaxFileNameChars = 31,
70 kHFSPlusMaxFileNameChars = 255
92 enum { kHFSExtentDensity = 3, kHFSPlusExtentDensity = 8 };
130 kHFSRootParentID = 1,
175 kHFSFileLockedBit = 0x0000,
177 kHFSThreadExistsBit = 0x0001,
280 kHFSPlusAttrInlineData = 0x10,
333 kHFSExtentKeyMaximumLength =
sizeof(
HFSExtentKey) -
sizeof(UInt8),
335 kHFSPlusCatalogKeyMinimumLength =
336 kHFSPlusCatalogKeyMaximumLength -
sizeof(
HFSUniStr255) +
sizeof(UInt16),
337 kHFSCatalogKeyMaximumLength =
sizeof(
HFSCatalogKey) -
sizeof(UInt8),
338 kHFSCatalogKeyMinimumLength =
339 kHFSCatalogKeyMaximumLength -
sizeof(Str31) +
sizeof(UInt8),
340 kHFSPlusCatalogMinNodeSize = 4096,
341 kHFSPlusExtentMinNodeSize = 512,
342 kHFSPlusAttrMinNodeSize = 4096
363 kHFSMDBAttributesMask = 0x8380
367 kHFSCatalogNodeIDsReusedBit = 12,
464 enum { kBTLeafNode = -1, kBTIndexNode = 0, kBTHeaderNode = 1, kBTMapNode = 2 };
487 kBTBadCloseMask = 0x00000001,
493 #if PRAGMA_STRUCT_ALIGN
494 #pragma options align = reset
495 #elif PRAGMA_STRUCT_PACKPUSH
497 #elif PRAGMA_STRUCT_PACK
501 #ifdef PRAGMA_IMPORT_OFF
File Manager (MFS, HFS, and HFS+) Interfaces.
Finder flags and container types.
@ kHFSPlusFolderThreadRecord
Definition: HFSVolumes.h:169
@ kHFSFolderRecord
Definition: HFSVolumes.h:162
@ kHFSFileThreadRecord
Definition: HFSVolumes.h:165
@ kHFSPlusFolderRecord
Definition: HFSVolumes.h:167
@ kHFSFileRecord
Definition: HFSVolumes.h:163
@ kHFSPlusFileRecord
Definition: HFSVolumes.h:168
@ kHFSPlusFileThreadRecord
Definition: HFSVolumes.h:170
@ kHFSFolderThreadRecord
Definition: HFSVolumes.h:164
@ kHFSBadBlockFileID
Definition: HFSVolumes.h:134
@ kHFSRootFolderID
Definition: HFSVolumes.h:131
@ kHFSBogusExtentFileID
Definition: HFSVolumes.h:139
@ kHFSAllocationFileID
Definition: HFSVolumes.h:135
@ kHFSCatalogFileID
Definition: HFSVolumes.h:133
@ kHFSAttributesFileID
Definition: HFSVolumes.h:138
@ kHFSFirstUserCatalogNodeID
Definition: HFSVolumes.h:140
@ kHFSExtentsFileID
Definition: HFSVolumes.h:132
@ kHFSStartupFileID
Definition: HFSVolumes.h:137
@ kBTVariableIndexKeysMask
Definition: HFSVolumes.h:489
@ kBTBigKeysMask
Definition: HFSVolumes.h:488
HFSPlusExtentDescriptor HFSPlusExtentRecord[8]
Definition: HFSVolumes.h:110
HFSExtentDescriptor HFSExtentRecord[3]
Definition: HFSVolumes.h:108
@ kHFSCatalogNodeIDsReusedMask
Definition: HFSVolumes.h:368
@ kHFSThreadExistsMask
Definition: HFSVolumes.h:178
@ kHFSFileLockedMask
Definition: HFSVolumes.h:176
UInt32 HFSCatalogNodeID
Definition: HFSVolumes.h:66
@ kHFSPlusAttrForkData
Definition: HFSVolumes.h:281
@ kHFSPlusAttrExtents
Definition: HFSVolumes.h:282
@ kHFSVolumeSparedBlocksBit
Definition: HFSVolumes.h:350
@ kHFSVolumeNoCacheRequiredBit
Definition: HFSVolumes.h:351
@ kHFSVolumeSoftwareLockBit
Definition: HFSVolumes.h:356
@ kHFSBootVolumeInconsistentBit
Definition: HFSVolumes.h:353
@ kHFSVolumeUnmountedBit
Definition: HFSVolumes.h:349
@ kHFSVolumeHardwareLockMask
Definition: HFSVolumes.h:357
@ kHFSVolumeHardwareLockBit
Definition: HFSVolumes.h:348
@ kHFSPlusSigWord
Definition: HFSVolumes.h:57
@ kHFSPlusMountVersion
Definition: HFSVolumes.h:60
@ kHFSPlusVersion
Definition: HFSVolumes.h:58
Basic Macintosh data types.
Definition: HFSVolumes.h:454
UInt16 reserved
Definition: HFSVolumes.h:460
SInt8 kind
Definition: HFSVolumes.h:457
UInt32 bLink
Definition: HFSVolumes.h:456
UInt16 numRecords
Definition: HFSVolumes.h:459
UInt8 height
Definition: HFSVolumes.h:458
Definition: HFSVolumes.h:214
UInt32 createDate
Definition: HFSVolumes.h:226
UInt8 flags
Definition: HFSVolumes.h:216
FXInfo finderInfo
Definition: HFSVolumes.h:229
SInt32 rsrcPhysicalSize
Definition: HFSVolumes.h:225
HFSCatalogNodeID fileID
Definition: HFSVolumes.h:219
HFSExtentRecord rsrcExtents
Definition: HFSVolumes.h:232
HFSExtentRecord dataExtents
Definition: HFSVolumes.h:231
UInt32 backupDate
Definition: HFSVolumes.h:228
SInt32 dataPhysicalSize
Definition: HFSVolumes.h:222
UInt16 rsrcStartBlock
Definition: HFSVolumes.h:223
UInt16 dataStartBlock
Definition: HFSVolumes.h:220
FInfo userInfo
Definition: HFSVolumes.h:218
UInt32 reserved
Definition: HFSVolumes.h:233
SInt32 dataLogicalSize
Definition: HFSVolumes.h:221
SInt32 rsrcLogicalSize
Definition: HFSVolumes.h:224
UInt16 clumpSize
Definition: HFSVolumes.h:230
UInt32 modifyDate
Definition: HFSVolumes.h:227
SInt8 fileType
Definition: HFSVolumes.h:217
Definition: HFSVolumes.h:182
UInt32 createDate
Definition: HFSVolumes.h:187
UInt16 valence
Definition: HFSVolumes.h:185
DXInfo finderInfo
Definition: HFSVolumes.h:191
HFSCatalogNodeID folderID
Definition: HFSVolumes.h:186
UInt32 modifyDate
Definition: HFSVolumes.h:188
UInt32 backupDate
Definition: HFSVolumes.h:189
UInt16 flags
Definition: HFSVolumes.h:184
DInfo userInfo
Definition: HFSVolumes.h:190
Definition: HFSVolumes.h:144
Str31 nodeName
Definition: HFSVolumes.h:148
HFSCatalogNodeID parentID
Definition: HFSVolumes.h:147
UInt8 reserved
Definition: HFSVolumes.h:146
Definition: HFSVolumes.h:259
HFSCatalogNodeID parentID
Definition: HFSVolumes.h:262
Str31 nodeName
Definition: HFSVolumes.h:263
Definition: HFSVolumes.h:95
UInt16 blockCount
Definition: HFSVolumes.h:97
Definition: HFSVolumes.h:75
UInt16 startBlock
Definition: HFSVolumes.h:79
HFSCatalogNodeID fileID
Definition: HFSVolumes.h:78
UInt8 forkType
Definition: HFSVolumes.h:77
Definition: HFSVolumes.h:373
UInt32 drVolBkUp
Definition: HFSVolumes.h:394
UInt32 drCrDate
Definition: HFSVolumes.h:378
UInt32 drLsMod
Definition: HFSVolumes.h:379
UInt16 drVSeqNum
Definition: HFSVolumes.h:395
UInt32 drClpSiz
Definition: HFSVolumes.h:386
HFSExtentRecord drCTExtRec
Definition: HFSVolumes.h:409
UInt16 drEmbedSigWord
Definition: HFSVolumes.h:403
UInt16 drAlBlSt
Definition: HFSVolumes.h:387
UInt16 drFreeBks
Definition: HFSVolumes.h:389
UInt32 drNxtCNID
Definition: HFSVolumes.h:388
UInt16 drVBMSt
Definition: HFSVolumes.h:382
UInt32 drDirCnt
Definition: HFSVolumes.h:401
UInt32 drCTClpSiz
Definition: HFSVolumes.h:398
SInt32 drFndrInfo[8]
Definition: HFSVolumes.h:402
HFSExtentDescriptor drEmbedExtent
Definition: HFSVolumes.h:404
UInt32 drCTFlSize
Definition: HFSVolumes.h:408
UInt16 drNmAlBlks
Definition: HFSVolumes.h:384
UInt32 drAlBlkSiz
Definition: HFSVolumes.h:385
UInt16 drAllocPtr
Definition: HFSVolumes.h:383
UInt32 drXTFlSize
Definition: HFSVolumes.h:406
UInt32 drXTClpSiz
Definition: HFSVolumes.h:397
UInt16 drNmFls
Definition: HFSVolumes.h:381
UInt16 drSigWord
Definition: HFSVolumes.h:377
UInt16 drNmRtDirs
Definition: HFSVolumes.h:399
UInt32 drFilCnt
Definition: HFSVolumes.h:400
Str27 drVN
Definition: HFSVolumes.h:390
UInt16 drAtrb
Definition: HFSVolumes.h:380
HFSExtentRecord drXTExtRec
Definition: HFSVolumes.h:407
UInt32 drWrCnt
Definition: HFSVolumes.h:396
Definition: HFSVolumes.h:316
UInt32 reserved
Definition: HFSVolumes.h:318
Definition: HFSVolumes.h:305
UInt32 reserved
Definition: HFSVolumes.h:307
Definition: HFSVolumes.h:291
UInt32 reserved
Definition: HFSVolumes.h:293
Definition: HFSVolumes.h:237
HFSPlusPermissions permissions
Definition: HFSVolumes.h:247
UInt32 contentModDate
Definition: HFSVolumes.h:243
UInt32 backupDate
Definition: HFSVolumes.h:246
HFSPlusForkData resourceFork
Definition: HFSVolumes.h:255
UInt32 textEncoding
Definition: HFSVolumes.h:250
UInt32 accessDate
Definition: HFSVolumes.h:245
UInt32 reserved2
Definition: HFSVolumes.h:251
UInt32 reserved1
Definition: HFSVolumes.h:240
HFSCatalogNodeID fileID
Definition: HFSVolumes.h:241
FInfo userInfo
Definition: HFSVolumes.h:248
UInt32 attributeModDate
Definition: HFSVolumes.h:244
UInt16 flags
Definition: HFSVolumes.h:239
FXInfo finderInfo
Definition: HFSVolumes.h:249
HFSPlusForkData dataFork
Definition: HFSVolumes.h:254
UInt32 createDate
Definition: HFSVolumes.h:242
Definition: HFSVolumes.h:196
UInt16 flags
Definition: HFSVolumes.h:198
HFSPlusPermissions permissions
Definition: HFSVolumes.h:206
DXInfo finderInfo
Definition: HFSVolumes.h:208
HFSCatalogNodeID folderID
Definition: HFSVolumes.h:200
DInfo userInfo
Definition: HFSVolumes.h:207
UInt32 valence
Definition: HFSVolumes.h:199
UInt32 createDate
Definition: HFSVolumes.h:201
UInt32 accessDate
Definition: HFSVolumes.h:204
UInt32 backupDate
Definition: HFSVolumes.h:205
UInt32 textEncoding
Definition: HFSVolumes.h:209
UInt32 contentModDate
Definition: HFSVolumes.h:202
UInt32 attributeModDate
Definition: HFSVolumes.h:203
UInt32 reserved
Definition: HFSVolumes.h:210
Definition: HFSVolumes.h:152
HFSCatalogNodeID parentID
Definition: HFSVolumes.h:154
HFSUniStr255 nodeName
Definition: HFSVolumes.h:155
Definition: HFSVolumes.h:267
SInt16 reserved
Definition: HFSVolumes.h:269
HFSCatalogNodeID parentID
Definition: HFSVolumes.h:270
HFSUniStr255 nodeName
Definition: HFSVolumes.h:271
Definition: HFSVolumes.h:101
UInt32 blockCount
Definition: HFSVolumes.h:103
Definition: HFSVolumes.h:83
UInt8 forkType
Definition: HFSVolumes.h:85
HFSCatalogNodeID fileID
Definition: HFSVolumes.h:87
UInt8 pad
Definition: HFSVolumes.h:86
UInt32 startBlock
Definition: HFSVolumes.h:88
Definition: HFSVolumes.h:113
HFSPlusExtentRecord extents
Definition: HFSVolumes.h:117
UInt32 clumpSize
Definition: HFSVolumes.h:115
UInt32 totalBlocks
Definition: HFSVolumes.h:116
Definition: HFSVolumes.h:121
UInt32 specialDevice
Definition: HFSVolumes.h:125
UInt32 groupID
Definition: HFSVolumes.h:123
UInt32 permissions
Definition: HFSVolumes.h:124
Definition: MacTypes.h:110
Definition: HFSVolumes.h:323