Ext4

Struct Ext4 

Source
pub struct Ext4(/* private fields */);
Expand description

Read-only access to an ext4 filesystem.

Implementations§

Source§

impl Ext4

Source

pub fn load(reader: Box<dyn Ext4Read>) -> Result<Self, Ext4Error>

Load an Ext4 instance from the given reader.

This reads and validates the superblock, block group descriptors, and journal. No other data is read.

Source

pub fn load_from_path<P: AsRef<Path>>(path: P) -> Result<Self, Ext4Error>

Available on crate feature std only.

Load an Ext4 filesystem from the given path.

This reads and validates the superblock and block group descriptors. No other data is read.

Source

pub fn label(&self) -> &Label

Get the filesystem label.

Source

pub fn uuid(&self) -> Uuid

Get the filesystem UUID.

Source§

impl Ext4

These methods mirror the std::fs API.

Source

pub fn canonicalize<'p, P>(&self, path: P) -> Result<PathBuf, Ext4Error>
where P: TryInto<Path<'p>>,

Get the canonical, absolute form of a path with all intermediate components normalized and symbolic links resolved.

§Errors

An error will be returned if:

  • path is not absolute.
  • path does not exist.

This is not an exhaustive list of errors, see the crate documentation.

Source

pub fn open<'p, P>(&self, path: P) -> Result<File, Ext4Error>
where P: TryInto<Path<'p>>,

Open the file at path.

§Errors

An error will be returned if:

  • path is not absolute.
  • path does not exist.
  • path is a directory or special file type.

This is not an exhaustive list of errors, see the crate documentation.

Source

pub fn read<'p, P>(&self, path: P) -> Result<Vec<u8>, Ext4Error>
where P: TryInto<Path<'p>>,

Read the entire contents of a file as raw bytes.

§Errors

An error will be returned if:

  • path is not absolute.
  • path does not exist.
  • path is a directory or special file type.

This is not an exhaustive list of errors, see the crate documentation.

Source

pub fn read_to_string<'p, P>(&self, path: P) -> Result<String, Ext4Error>
where P: TryInto<Path<'p>>,

Read the entire contents of a file as a string.

§Errors

An error will be returned if:

  • path is not absolute.
  • path does not exist.
  • path is a directory or special file type.

This is not an exhaustive list of errors, see the crate documentation.

Get the target of a symbolic link.

The final component of path must be a symlink. If the path contains any symlinks in components prior to the end, they will be fully resolved as normal.

§Errors

An error will be returned if:

  • path is not absolute.
  • The final component of path is not a symlink.

This is not an exhaustive list of errors, see the crate documentation.

Source

pub fn read_dir<'p, P>(&self, path: P) -> Result<ReadDir, Ext4Error>
where P: TryInto<Path<'p>>,

Get an iterator over the entries in a directory.

§Errors

An error will be returned if:

  • path is not absolute.
  • path does not exist
  • path is not a directory

This is not an exhaustive list of errors, see the crate documentation.

Source

pub fn exists<'p, P>(&self, path: P) -> Result<bool, Ext4Error>
where P: TryInto<Path<'p>>,

Check if path exists.

Returns Ok(true) if path exists, or Ok(false) if it does not exist.

§Errors

An error will be returned if:

  • path is not absolute.

This is not an exhaustive list of errors, see the crate documentation.

Source

pub fn metadata<'p, P>(&self, path: P) -> Result<Metadata, Ext4Error>
where P: TryInto<Path<'p>>,

Get Metadata for path.

§Errors

An error will be returned if:

  • path is not absolute.
  • path does not exist.

This is not an exhaustive list of errors, see the crate documentation.

Get Metadata for path.

If the final component of path is a symlink, information about the symlink itself will be returned, not the symlink’s targets. Any other symlink components of path are resolved as normal.

§Errors

An error will be returned if:

  • path is not absolute.
  • path does not exist.

This is not an exhaustive list of errors, see the crate documentation.

Trait Implementations§

Source§

impl Clone for Ext4

Source§

fn clone(&self) -> Ext4

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 Ext4

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl Freeze for Ext4

§

impl !RefUnwindSafe for Ext4

§

impl !Send for Ext4

§

impl !Sync for Ext4

§

impl Unpin for Ext4

§

impl !UnwindSafe for Ext4

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.