Skip to main content

Udf

Struct Udf 

Source
pub struct Udf<S: BlockSource> { /* private fields */ }
Expand description

A mounted UDF volume.

Trait Implementations§

Source§

impl<S: BlockSource> FoldFrontend<S> for Udf<S>

Source§

const TAG: &'static str = "udf"

Stable tag surfaced through trust events (“iso9660”, “udf”, “squashfs”, …).
Source§

fn probe(src: &mut S) -> Result<bool>

Cheap, bounded superblock/magic sniff — must not over-read. Returns true if src looks like this format.
Source§

fn open(src: S, _cx: &mut SubstrateCtx<'_>) -> Result<Self>

Mount the volume over src, given the shared substrate.
Source§

fn root(&self) -> NodeId

The root directory node.
Source§

fn lookup( &mut self, dir: NodeId, name: &str, cx: &mut SubstrateCtx<'_>, ) -> Result<Option<NodeId>>

Resolve one path component within dir.
Source§

fn read_dir( &mut self, dir: NodeId, _cx: &mut SubstrateCtx<'_>, ) -> Result<Vec<DirEntry>>

List the entries of a directory (advisory: re-resolve by name before any security decision — same contract as LamBoot’s read_dir).
Source§

fn metadata( &mut self, node: NodeId, _cx: &mut SubstrateCtx<'_>, ) -> Result<Metadata>

Metadata for a node.
Source§

fn read_at( &mut self, node: NodeId, off: u64, buf: &mut [u8], _cx: &mut SubstrateCtx<'_>, ) -> Result<usize>

Read up to buf.len() bytes of a regular file starting at off. Returns the number of bytes read (0 at EOF).
The target of a symbolic link (raw bytes), or None if node is not a symlink. Default: the format has no symlinks. Frontends that carry POSIX semantics (ISO9660 Rock Ridge, squashfs, erofs) override this; the boot path uses it to resolve e.g. /boot/vmlinuz → the real kernel.

Auto Trait Implementations§

§

impl<S> Freeze for Udf<S>
where S: Freeze,

§

impl<S> RefUnwindSafe for Udf<S>
where S: RefUnwindSafe,

§

impl<S> Send for Udf<S>
where S: Send,

§

impl<S> Sync for Udf<S>
where S: Sync,

§

impl<S> Unpin for Udf<S>
where S: Unpin,

§

impl<S> UnsafeUnpin for Udf<S>
where S: UnsafeUnpin,

§

impl<S> UnwindSafe for Udf<S>
where S: UnwindSafe,

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> 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, 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.