Skip to main content

ExtendedFileOptions

Struct ExtendedFileOptions 

Source
pub struct ExtendedFileOptions { /* private fields */ }
Expand description

The Extension for Extra Data and Central Extra Data

Implementations§

Source§

impl ExtendedFileOptions

Source

pub fn add_extra_data<D: AsRef<[u8]>>( &mut self, header_id: u16, data: D, central_only: bool, ) -> ZipResult<()>

👎Deprecated:

use add_extra_field()

Adds an extra data field, unless we detect that it’s invalid.

§Parameters
  • header_id – The 2‑byte identifier of the ZIP extra field to add. This value determines the type/format of data and should either be one of the standard ZIP extra field IDs defined by the ZIP specification or an application‑specific (vendor) ID.
  • data – The raw payload for the extra field, without the leading header ID or length; those are derived from header_id and data.len() and written automatically.
  • central_only – Controls where the extra field is stored:
    • When true, the field is appended only to the central directory extra data (central_extra_data), and the corresponding local file header is left unchanged.
    • When false, the field is appended to the local file header extra data (extra_data) and may also be reflected in the central directory, depending on how the ZIP is written.

The combined size of all extra data (local + central) must not exceed u16::MAX. If adding this field would exceed that limit or produce an invalid extra data structure, an error is returned and no data is added.

Source

pub fn add_extra_field<D: AsRef<[u8]>>( &mut self, header_id: u16, data: D, central_only: bool, ) -> ZipResult<()>

Adds an extra field, unless we detect that it’s invalid.

§Parameters
  • header_id – The 2‑byte identifier of the ZIP extra field to add. This value determines the type/format of data and should either be one of the standard ZIP extra field IDs defined by the ZIP specification or an application‑specific (vendor) ID.
  • data – The raw payload for the extra field, without the leading header ID or length; those are derived from header_id and data.len() and written automatically.
  • central_only – Controls where the extra field is stored:
    • When true, the field is appended only to the central directory extra data (central_extra_data), and the corresponding local file header is left unchanged.
    • When false, the field is appended to the local file header extra data (extra_data) and may also be reflected in the central directory, depending on how the ZIP is written.

The combined size of all extra data (local + central) must not exceed u16::MAX. If adding this field would exceed that limit or produce an invalid extra data structure, an error is returned and no data is added.

Trait Implementations§

Source§

impl Clone for ExtendedFileOptions

Source§

fn clone(&self) -> ExtendedFileOptions

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for ExtendedFileOptions

Source§

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

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

impl Default for ExtendedFileOptions

Source§

fn default() -> ExtendedFileOptions

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

impl Eq for ExtendedFileOptions

Source§

impl PartialEq for ExtendedFileOptions

Source§

fn eq(&self, other: &ExtendedFileOptions) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for ExtendedFileOptions

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<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
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.