Struct kdevice::block::Blocks  [−][src]
pub struct Blocks<const N: usize>(_);
Expand description
Block device driver.
Implementations
impl<const N: usize> Blocks<N>[src]
impl<const N: usize> Blocks<N>[src]Trait Implementations
impl<const N: usize> Device for Blocks<N>[src]
impl<const N: usize> Device for Blocks<N>[src]fn remove<'life0, 'life1, 'async_trait>(
    &'life0 self, 
    c: &'life1 ChanId
) -> Result<Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>>, AllocError> where
    'life0: 'async_trait,
    'life1: 'async_trait,
    Self: 'async_trait, [src]
fn remove<'life0, 'life1, 'async_trait>(
    &'life0 self, 
    c: &'life1 ChanId
) -> Result<Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>>, AllocError> where
    'life0: 'async_trait,
    'life1: 'async_trait,
    Self: 'async_trait, [src]Remove a block device. Active partition within device are not allowed to be removed.
fn shutdown<'async_trait>(
    self
) -> Result<Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>, AllocError> where
    Self: Sized,
    Self: 'async_trait, [src]
fn shutdown<'async_trait>(
    self
) -> Result<Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>, AllocError> where
    Self: Sized,
    Self: 'async_trait, [src]The async destructor of the device. Read more
fn attach<'life0, 'life1, 'async_trait>(
    &'life0 self, 
    aname: &'life1 [u8]
) -> Result<Pin<Box<dyn Future<Output = Result<ChanId>> + Send + 'async_trait>>, AllocError> where
    Self: Sized,
    'life0: 'async_trait,
    'life1: 'async_trait,
    Self: 'async_trait, [src]
fn attach<'life0, 'life1, 'async_trait>(
    &'life0 self, 
    aname: &'life1 [u8]
) -> Result<Pin<Box<dyn Future<Output = Result<ChanId>> + Send + 'async_trait>>, AllocError> where
    Self: Sized,
    'life0: 'async_trait,
    'life1: 'async_trait,
    Self: 'async_trait, [src]Return the root channel. aname is a user-specified hint.
fn open<'life0, 'life1, 'life2, 'async_trait>(
    &'life0 self, 
    dir: &'life1 ChanId, 
    name: &'life2 [u8], 
    create_dir: Option<bool>
) -> Result<Pin<Box<dyn Future<Output = Result<Option<ChanId>>> + Send + 'async_trait>>, AllocError> where
    'life0: 'async_trait,
    'life1: 'async_trait,
    'life2: 'async_trait,
    Self: 'async_trait, [src]
fn open<'life0, 'life1, 'life2, 'async_trait>(
    &'life0 self, 
    dir: &'life1 ChanId, 
    name: &'life2 [u8], 
    create_dir: Option<bool>
) -> Result<Pin<Box<dyn Future<Output = Result<Option<ChanId>>> + Send + 'async_trait>>, AllocError> where
    'life0: 'async_trait,
    'life1: 'async_trait,
    'life2: 'async_trait,
    Self: 'async_trait, [src]Open a file in the directory or reopen a file. Read more
fn close<'life0, 'async_trait>(
    &'life0 self, 
    c: ChanId
) -> Result<Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>, AllocError> where
    'life0: 'async_trait,
    Self: 'async_trait, [src]
fn close<'life0, 'async_trait>(
    &'life0 self, 
    c: ChanId
) -> Result<Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>, AllocError> where
    'life0: 'async_trait,
    Self: 'async_trait, [src]Close a file. The drop of channel is done by Chan::close Read more
fn truncate<'life0, 'life1, 'async_trait>(
    &'life0 self, 
    c: &'life1 ChanId, 
    size: usize
) -> Result<Pin<Box<dyn Future<Output = Result<usize>> + Send + 'async_trait>>, AllocError> where
    'life0: 'async_trait,
    'life1: 'async_trait,
    Self: 'async_trait, [src]
fn truncate<'life0, 'life1, 'async_trait>(
    &'life0 self, 
    c: &'life1 ChanId, 
    size: usize
) -> Result<Pin<Box<dyn Future<Output = Result<usize>> + Send + 'async_trait>>, AllocError> where
    'life0: 'async_trait,
    'life1: 'async_trait,
    Self: 'async_trait, [src]Reduce the size of a file. Read more
fn stat<'life0, 'life1, 'async_trait>(
    &'life0 self, 
    c: &'life1 ChanId
) -> Result<Pin<Box<dyn Future<Output = Result<Dirent>> + Send + 'async_trait>>, AllocError> where
    'life0: 'async_trait,
    'life1: 'async_trait,
    Self: 'async_trait, [src]
fn stat<'life0, 'life1, 'async_trait>(
    &'life0 self, 
    c: &'life1 ChanId
) -> Result<Pin<Box<dyn Future<Output = Result<Dirent>> + Send + 'async_trait>>, AllocError> where
    'life0: 'async_trait,
    'life1: 'async_trait,
    Self: 'async_trait, [src]Inquires about the file attribute identified by a channel.
fn wstat<'life0, 'life1, 'life2, 'async_trait>(
    &'life0 self, 
    c: &'life1 ChanId, 
    dirent: &'life2 Dirent
) -> Result<Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>, AllocError> where
    'life0: 'async_trait,
    'life1: 'async_trait,
    'life2: 'async_trait,
    Self: 'async_trait, [src]
fn wstat<'life0, 'life1, 'life2, 'async_trait>(
    &'life0 self, 
    c: &'life1 ChanId, 
    dirent: &'life2 Dirent
) -> Result<Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>, AllocError> where
    'life0: 'async_trait,
    'life1: 'async_trait,
    'life2: 'async_trait,
    Self: 'async_trait, [src]Change the file attribute identified by a channel. Should be atomic.
fn read<'life0, 'life1, 'life2, 'async_trait>(
    &'life0 self, 
    c: &'life1 ChanId, 
    buf: &'life2 mut [u8], 
    off: usize
) -> Result<Pin<Box<dyn Future<Output = Result<usize>> + Send + 'async_trait>>, AllocError> where
    'life0: 'async_trait,
    'life1: 'async_trait,
    'life2: 'async_trait,
    Self: 'async_trait, [src]
fn read<'life0, 'life1, 'life2, 'async_trait>(
    &'life0 self, 
    c: &'life1 ChanId, 
    buf: &'life2 mut [u8], 
    off: usize
) -> Result<Pin<Box<dyn Future<Output = Result<usize>> + Send + 'async_trait>>, AllocError> where
    'life0: 'async_trait,
    'life1: 'async_trait,
    'life2: 'async_trait,
    Self: 'async_trait, [src]Read data from a channel by offset and store to buffer. Read more
fn write<'life0, 'life1, 'life2, 'async_trait>(
    &'life0 self, 
    c: &'life1 ChanId, 
    buf: &'life2 [u8], 
    off: usize
) -> Result<Pin<Box<dyn Future<Output = Result<usize>> + Send + 'async_trait>>, AllocError> where
    'life0: 'async_trait,
    'life1: 'async_trait,
    'life2: 'async_trait,
    Self: 'async_trait, [src]
fn write<'life0, 'life1, 'life2, 'async_trait>(
    &'life0 self, 
    c: &'life1 ChanId, 
    buf: &'life2 [u8], 
    off: usize
) -> Result<Pin<Box<dyn Future<Output = Result<usize>> + Send + 'async_trait>>, AllocError> where
    'life0: 'async_trait,
    'life1: 'async_trait,
    'life2: 'async_trait,
    Self: 'async_trait, [src]Write the data in buffer to a channel starting by specific offset. Directories are not allowed to be written. Read more