finder_info

Crates.iofinder_info
lib.rsfinder_info
version0.2.3
sourcesrc
created_at2018-02-16 02:46:47.050031
updated_at2021-08-06 22:09:37.601176
descriptionA library to parse Apple HFS/HFS+/APFS FinderInfo attribute.
homepage
repositoryhttps://github.com/dropbox/finderinfo-rust
max_upload_size
id51360
size30,230
finder_info (github:dropbox:finder_info)

documentation

README

finderinfo

A library to parse Apple HFS/HFS+/APFS FinderInfo attribute.

On modern MacOS systems, objects in the filesystem can have an extended attribute called com.apple.FinderInfo. This attribute is 32 bytes long and largely undocumented. It turns out that this attribute is actually the old HFS Finder Info struct in the first 16 bytes, and the Extended Finder Info struct in the second 16 bytes. This library provides a mechanism by which a Rust program can programmatically interact with these structures.

This crate also provides an executable finderinfo, which is a small utility that can parse and display the contents of the Finder Info blob. If built with the xattr feature, the library is able to read and write the com.apple.FinderInfo extended attribute on MacOS systems.

Example

let buf = vec![
    0x00u8, 0x00u8, 0x00u8, 0x00u8, 0x00u8, 0x00u8, 0x00u8, 0x00u8,
    0x40u8, 0x00u8, 0x00u8, 0x00u8, 0x00u8, 0x00u8, 0x00u8, 0x00u8,
    0x00u8, 0x00u8, 0x00u8, 0x00u8, 0x00u8, 0x00u8, 0x00u8, 0x00u8,
    0x00u8, 0x00u8, 0x00u8, 0x00u8, 0x00u8, 0x00u8, 0x00u8, 0x00u8,
];
let finder_info = FinderInfoFolder::read(&mut io::Cursor::new(buf));
println!("{:?}", finder_info);
Commit count: 19

cargo fmt