SitEntry

Struct SitEntry 

Source
pub struct SitEntry {
Show 13 fields pub name: String, pub data_fork: Vec<u8>, pub resource_fork: Vec<u8>, pub file_type: [u8; 4], pub creator: [u8; 4], pub is_folder: bool, pub data_method: u8, pub rsrc_method: u8, pub data_ulen: u32, pub rsrc_ulen: u32, pub finder_flags: u16, pub is_compressed: bool, pub format: ArchiveFormat,
}
Expand description

A single entry (file or folder) in a StuffIt archive.

Each entry can have both a data fork and a resource fork, following the classic Macintosh file system conventions.

By default, entries are stored in compressed form for lazy decompression. Call decompress() to get the uncompressed data.

Fields§

§name: String

Name of the file or folder (may include path separators for nested items).

§data_fork: Vec<u8>

Data fork content (compressed if is_compressed is true).

§resource_fork: Vec<u8>

Resource fork content (compressed if is_compressed is true).

§file_type: [u8; 4]

Macintosh file type code (e.g., b"TEXT", b"APPL").

§creator: [u8; 4]

Macintosh creator code (e.g., b"ttxt", b"CARO").

§is_folder: bool

Whether this entry represents a folder.

§data_method: u8

Compression method used for the data fork.

§rsrc_method: u8

Compression method used for the resource fork.

§data_ulen: u32

Uncompressed size of the data fork.

§rsrc_ulen: u32

Uncompressed size of the resource fork.

§finder_flags: u16

Macintosh Finder flags (e.g., invisible, has custom icon).

§is_compressed: bool

Whether the fork data is still compressed (for lazy decompression).

§format: ArchiveFormat

Archive format (determines which decompressor to use).

Implementations§

Source§

impl SitEntry

Source

pub fn decompressed_forks(&self) -> Result<(Vec<u8>, Vec<u8>), SitError>

Decompress the entry’s forks if they are still compressed. Returns the decompressed data fork and resource fork.

This method is designed to be called from parallel contexts.

Trait Implementations§

Source§

impl Clone for SitEntry

Source§

fn clone(&self) -> SitEntry

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for SitEntry

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for SitEntry

Source§

fn default() -> SitEntry

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.