[][src]Struct uefi::proto::media::file::RegularFile

#[repr(transparent)]pub struct RegularFile(_);

A FileHandle that is also a regular (data) file.

Use FileHandle::into_kind or RegularFile::new to create a RegularFile. In addition to supporting the normal File operations, RegularFile supports direct reading and writing.

Implementations

impl RegularFile[src]

pub const END_OF_FILE: u64[src]

A special position used to seek to the end of a file with set_position().

pub unsafe fn new(handle: FileHandle) -> Self[src]

Coverts a FileHandle into a RegularFile without checking the file kind.

Safety

This function should only be called on handles which ARE NOT directories, doing otherwise is unsafe.

pub fn read(&mut self, buffer: &mut [u8]) -> Result<usize, Option<usize>>[src]

Read data from file

Try to read as much as possible into buffer. Returns the number of bytes that were actually read.

Arguments

  • buffer The target buffer of the read operation

Errors

  • uefi::Status::NO_MEDIA The device has no media
  • uefi::Status::DEVICE_ERROR The device reported an error, the file was deleted, or the end of the file was reached before the read().
  • uefi::Status::VOLUME_CORRUPTED The filesystem structures are corrupted
  • uefi::Status::BUFFER_TOO_SMALL The buffer is too small to hold a directory entry, and the required buffer size is provided as output.

pub fn write(&mut self, buffer: &[u8]) -> Result<(), usize>[src]

Write data to file

Write buffer to file, increment the file pointer.

If an error occurs, returns the number of bytes that were actually written. If no error occured, the entire buffer is guaranteed to have been written successfully.

Arguments

  • buffer Buffer to write to file

Errors

  • uefi::Status::NO_MEDIA The device has no media
  • uefi::Status::DEVICE_ERROR The device reported an error or the file was deleted.
  • uefi::Status::VOLUME_CORRUPTED The filesystem structures are corrupted
  • uefi::Status::WRITE_PROTECTED Attempt to write to readonly file
  • uefi::Status::ACCESS_DENIED The file was opened read only.
  • uefi::Status::VOLUME_FULL The volume is full

pub fn get_position(&mut self) -> Result<u64>[src]

Get the file's current position

Errors

  • uefi::Status::DEVICE_ERROR An attempt was made to get the position of a deleted file

pub fn set_position(&mut self, position: u64) -> Result[src]

Sets the file's current position

Set the position of this file handle to the absolute position specified by position.

Seeking past the end of the file is allowed, it will trigger file growth on the next write. Using a position of RegularFile::END_OF_FILE will seek to the end of the file.

Arguments

  • position The new absolution position of the file handle

Errors

  • uefi::Status::DEVICE_ERROR An attempt was made to set the position of a deleted file

Trait Implementations

impl File for RegularFile[src]

Auto Trait Implementations

impl !Send for RegularFile

impl !Sync for RegularFile

impl Unpin for RegularFile

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.