Struct uefi::proto::media::file::Directory [−][src]
#[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
impl Directory
[src]
impl Directory
[src]pub unsafe fn new(handle: FileHandle) -> Self
[src]
pub unsafe fn new(handle: FileHandle) -> Self
[src]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.
pub fn read_entry<'buf>(
&mut self,
buffer: &'buf mut [u8]
) -> Result<Option<&'buf mut FileInfo>, Option<usize>>
[src]
pub fn read_entry<'buf>(
&mut self,
buffer: &'buf mut [u8]
) -> Result<Option<&'buf mut FileInfo>, Option<usize>>
[src]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.
pub fn reset_entry_readout(&mut self) -> Result
[src]
pub fn reset_entry_readout(&mut self) -> Result
[src]Start over the process of enumerating directory entries
Trait Implementations
impl File for Directory
[src]
impl File for Directory
[src]fn handle(&mut self) -> &mut FileHandle
[src]
fn open(
&mut self,
filename: &str,
open_mode: FileMode,
attributes: FileAttribute
) -> Result<FileHandle>
[src]
fn open(
&mut self,
filename: &str,
open_mode: FileMode,
attributes: FileAttribute
) -> Result<FileHandle>
[src]Try to open a file relative to this file. Read more
fn get_info<'buf, Info: FileProtocolInfo + ?Sized>(
&mut self,
buffer: &'buf mut [u8]
) -> Result<&'buf mut Info, Option<usize>>
[src]
fn get_info<'buf, Info: FileProtocolInfo + ?Sized>(
&mut self,
buffer: &'buf mut [u8]
) -> Result<&'buf mut Info, Option<usize>>
[src]Queries some information about a file Read more