pub struct DiskIo(/* private fields */);
Expand description
The disk I/O protocol.
This protocol is used to abstract the block accesses of the block I/O protocol to a more general offset-length protocol. Firmware is responsible for adding this protocol to any block I/O interface that appears in the system that does not already have a disk I/O protocol.
Implementations§
source§impl DiskIo
impl DiskIo
sourcepub fn read_disk(&self, media_id: u32, offset: u64, buffer: &mut [u8]) -> Result
pub fn read_disk(&self, media_id: u32, offset: u64, buffer: &mut [u8]) -> Result
Reads bytes from the disk device.
§Arguments:
media_id
- ID of the medium to be read.offset
- Starting byte offset on the logical block I/O device to read from.buffer
- Pointer to a buffer to read into.
§Errors:
uefi::status::INVALID_PARAMETER
The read request contains device addresses that are not valid for the device.uefi::status::DEVICE_ERROR
The device reported an error while performing the read operation.uefi::status::NO_MEDIA
There is no medium in the device.uefi::status::MEDIA_CHANGED
media_id
is not for the current medium.
sourcepub fn write_disk(
&mut self,
media_id: u32,
offset: u64,
buffer: &[u8]
) -> Result
pub fn write_disk( &mut self, media_id: u32, offset: u64, buffer: &[u8] ) -> Result
Writes bytes to the disk device.
§Arguments:
media_id
- ID of the medium to be written.offset
- Starting byte offset on the logical block I/O device to write to.buffer
- Pointer to a buffer to write from.
§Errors:
uefi::status::INVALID_PARAMETER
The write request contains device addresses that are not valid for the device.uefi::status::DEVICE_ERROR
The device reported an error while performing the write operation.uefi::status::NO_MEDIA
There is no medium in the device.uefi::status::MEDIA_CHANGED
media_id
is not for the current medium.uefi::status::WRITE_PROTECTED
The device cannot be written to.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for DiskIo
impl RefUnwindSafe for DiskIo
impl Send for DiskIo
impl Sync for DiskIo
impl Unpin for DiskIo
impl UnwindSafe for DiskIo
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more