pub struct SourceDirSnapshot {Show 17 fields
pub name: String,
pub name_utf16: Vec<u16>,
pub cnid: u32,
pub parent_cnid: u32,
pub valence: u32,
pub flags: u16,
pub finder_info: [u8; 16],
pub extended_finder_info: [u8; 16],
pub bsd_info: [u8; 16],
pub create_date: u32,
pub content_mod_date: u32,
pub attribute_mod_date: u32,
pub access_date: u32,
pub backup_date: u32,
pub text_encoding: u32,
pub is_dir_inode: bool,
pub inode_num: Option<u32>,
/* private fields */
}Expand description
Per-directory metadata captured from a kHFSPlusFolderRecord.
Fields§
§name: String§name_utf16: Vec<u16>Original UTF-16BE name code units. Kept so the target writer can re-key the catalog with byte-identical names (UTF-8 round-tripping can lose detail on some Unicode forms).
cnid: u32Source CNID (folderID). Targets get fresh CNIDs so this is for
building the source→target CNID map only.
parent_cnid: u32§valence: u32Number of immediate children (directly from the source record).
flags: u16flags field (offset 2 of the folder record).
finder_info: [u8; 16]userInfo — 16 bytes of FolderInfo (DInfo).
extended_finder_info: [u8; 16]finderInfo — 16 bytes of ExtendedFolderInfo (DXInfo).
bsd_info: [u8; 16]permissions — 16 bytes of HFSPlusBSDInfo (zeros on most volumes).
create_date: u32§content_mod_date: u32§attribute_mod_date: u32§access_date: u32§backup_date: u32§text_encoding: u32§is_dir_inode: booltrue for folders that live under the source’s
.HFS+ Private Directory Data\r directory whose name parses as
dir_<N> — i.e. directory-hardlink inodes. Replay must emit them
through create_dir_hardlink_inode rather than as ordinary
directories in the user-visible tree.
inode_num: Option<u32>Source iNodeNum (decoded from the dir_<N> folder name) for
directory-inode rows; None for ordinary folders.