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