Skip to main content

BlockDevice

Trait BlockDevice 

Source
pub trait BlockDevice: SharedDeviceOps {
    // Required methods
    fn block_size(&self) -> usize;
    fn num_blocks(&self) -> usize;
    fn read_blocks(
        &self,
        block_idx: usize,
        num_blocks: usize,
        buf: &mut [u8],
    ) -> Result<usize, DeviceError>;
    fn write_blocks(
        &self,
        block_idx: usize,
        num_blocks: usize,
        buf: &[u8],
    ) -> Result<usize, DeviceError>;

    // Provided method
    fn erase_blocks(
        &self,
        start_block: usize,
        num_blocks: usize,
    ) -> Result<usize, DeviceError> { ... }
}

Required Methods§

Source

fn block_size(&self) -> usize

Source

fn num_blocks(&self) -> usize

Source

fn read_blocks( &self, block_idx: usize, num_blocks: usize, buf: &mut [u8], ) -> Result<usize, DeviceError>

Source

fn write_blocks( &self, block_idx: usize, num_blocks: usize, buf: &[u8], ) -> Result<usize, DeviceError>

Provided Methods§

Source

fn erase_blocks( &self, start_block: usize, num_blocks: usize, ) -> Result<usize, DeviceError>

Implementors§