#[repr(transparent)]pub struct Directory(_);
Expand description
A FileHandle
that is also a directory.
Use File::into_type
or Directory::new
to create a Directory
. In
addition to supporting the normal File
operations, Directory
supports iterating over its contained files.
Implementations
sourceimpl Directory
impl Directory
sourcepub unsafe fn new(handle: FileHandle) -> Self
pub unsafe fn new(handle: FileHandle) -> Self
Coverts a FileHandle
into a Directory
without checking the file type.
Safety
This function should only be called on files which ARE directories, doing otherwise is unsafe.
sourcepub fn read_entry<'buf>(
&mut self,
buffer: &'buf mut [u8]
) -> Result<Option<&'buf mut FileInfo>, Option<usize>>
pub fn read_entry<'buf>(
&mut self,
buffer: &'buf mut [u8]
) -> Result<Option<&'buf mut FileInfo>, Option<usize>>
Read the next directory entry
Try to read the next directory entry into buffer
. If the buffer is too small, report the
required buffer size as part of the error. If there are no more directory entries, return
an empty optional.
The input buffer must be correctly aligned for a FileInfo
. You can query the required
alignment through the Align
trait (<FileInfo as Align>::alignment()
).
Arguments
buffer
The target buffer of the read operation
Errors
uefi::Status::NO_MEDIA
The device has no mediauefi::Status::DEVICE_ERROR
The device reported an error, the file was deleted, or the end of the file was reached before theread()
.uefi::Status::VOLUME_CORRUPTED
The filesystem structures are corrupteduefi::Status::BUFFER_TOO_SMALL
The buffer is too small to hold a directory entry, the required buffer size is provided into the error.
sourcepub fn reset_entry_readout(&mut self) -> Result
pub fn reset_entry_readout(&mut self) -> Result
Start over the process of enumerating directory entries
Trait Implementations
sourceimpl File for Directory
impl File for Directory
sourcefn open(
&mut self,
filename: &CStr16,
open_mode: FileMode,
attributes: FileAttribute
) -> Result<FileHandle>
fn open(
&mut self,
filename: &CStr16,
open_mode: FileMode,
attributes: FileAttribute
) -> Result<FileHandle>
Try to open a file relative to this file. Read more
sourcefn get_info<'buf, Info: FileProtocolInfo + ?Sized>(
&mut self,
buffer: &'buf mut [u8]
) -> Result<&'buf mut Info, Option<usize>>
fn get_info<'buf, Info: FileProtocolInfo + ?Sized>(
&mut self,
buffer: &'buf mut [u8]
) -> Result<&'buf mut Info, Option<usize>>
Queries some information about a file Read more
sourcefn set_info<Info: FileProtocolInfo + ?Sized>(&mut self, info: &Info) -> Result
fn set_info<Info: FileProtocolInfo + ?Sized>(&mut self, info: &Info) -> Result
Sets some information about a file Read more
sourcefn flush(&mut self) -> Result
fn flush(&mut self) -> Result
Flushes all modified data associated with the file handle to the device Read more
sourcefn get_boxed_info<Info: FileProtocolInfo + ?Sized + Debug>(
&mut self
) -> Result<Box<Info>>
fn get_boxed_info<Info: FileProtocolInfo + ?Sized + Debug>(
&mut self
) -> Result<Box<Info>>
exts
only.Get the dynamically allocated info for a file
Auto Trait Implementations
impl RefUnwindSafe for Directory
impl !Send for Directory
impl !Sync for Directory
impl Unpin for Directory
impl UnwindSafe for Directory
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more