Skip to main content

Magic

Struct Magic 

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

The content rules, in the order the database gives them.

Implementations§

Source§

impl Magic

Source

pub fn parse(bytes: &[u8]) -> Magic

Parses one magic file.

A file that does not start with the header is not this format and is ignored rather than guessed at. Anything unparseable after that ends the read: the format is length-prefixed, so once a length is misread there is no way back to a known position — and a wrong guess about where the next rule starts is worse than stopping with what was understood.

Source

pub fn load_from(dirs: &[PathBuf]) -> Magic

Reads every magic file under the given directories. Later directories add their sections after the earlier ones, which is the order the priority sort then works over.

Source

pub fn of_data(&self, data: &[u8]) -> Option<Match>

The best content match for these bytes.

Source

pub fn of_file(&self, path: &Path) -> Option<Match>

The best content match for a file, reading only its first SNIFF_BYTES.

Source

pub fn all_of_data(&self, data: &[u8]) -> Vec<Match>

Every content match, best first — mimetype --all.

Source

pub fn is_empty(&self) -> bool

Trait Implementations§

Source§

impl Clone for Magic

Source§

fn clone(&self) -> Self

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 Magic

Source§

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

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

impl Default for Magic

Source§

fn default() -> Self

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

impl Eq for Magic

Source§

impl PartialEq for Magic

Source§

fn eq(&self, other: &Self) -> 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 Magic

Auto Trait Implementations§

§

impl Freeze for Magic

§

impl RefUnwindSafe for Magic

§

impl Send for Magic

§

impl Sync for Magic

§

impl Unpin for Magic

§

impl UnsafeUnpin for Magic

§

impl UnwindSafe for Magic

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 = !

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

fn try_from(value: U) -> Result<T, !>

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.