Trait SchemeAsync

Source
pub trait SchemeAsync {
Show 25 methods // Provided methods async fn open( &mut self, path: &str, flags: usize, ctx: &CallerCtx, ) -> Result<OpenResult> { ... } async fn openat( &mut self, fd: usize, path: &str, flags: usize, fcntl_flags: u32, ctx: &CallerCtx, ) -> Result<OpenResult> { ... } async fn rmdir(&mut self, path: &str, ctx: &CallerCtx) -> Result<()> { ... } async fn unlink(&mut self, path: &str, ctx: &CallerCtx) -> Result<()> { ... } async fn dup( &mut self, old_id: usize, buf: &[u8], ctx: &CallerCtx, ) -> Result<OpenResult> { ... } async fn read( &mut self, id: usize, buf: &mut [u8], offset: u64, fcntl_flags: u32, ctx: &CallerCtx, ) -> Result<usize> { ... } async fn write( &mut self, id: usize, buf: &[u8], offset: u64, fcntl_flags: u32, ctx: &CallerCtx, ) -> Result<usize> { ... } async fn fsize(&mut self, id: usize, ctx: &CallerCtx) -> Result<u64> { ... } async fn fchmod( &mut self, id: usize, new_mode: u16, ctx: &CallerCtx, ) -> Result<()> { ... } async fn fchown( &mut self, id: usize, new_uid: u32, new_gid: u32, ctx: &CallerCtx, ) -> Result<()> { ... } async fn fcntl( &mut self, id: usize, cmd: usize, arg: usize, ctx: &CallerCtx, ) -> Result<usize> { ... } async fn fevent( &mut self, id: usize, flags: EventFlags, ctx: &CallerCtx, ) -> Result<EventFlags> { ... } async fn flink( &mut self, id: usize, path: &str, ctx: &CallerCtx, ) -> Result<usize> { ... } async fn fpath( &mut self, id: usize, buf: &mut [u8], ctx: &CallerCtx, ) -> Result<usize> { ... } async fn frename( &mut self, id: usize, path: &str, ctx: &CallerCtx, ) -> Result<usize> { ... } async fn fstat( &mut self, id: usize, stat: &mut Stat, ctx: &CallerCtx, ) -> Result<()> { ... } async fn fstatvfs( &mut self, id: usize, stat: &mut StatVfs, ctx: &CallerCtx, ) -> Result<()> { ... } async fn fsync(&mut self, id: usize, ctx: &CallerCtx) -> Result<()> { ... } async fn ftruncate( &mut self, id: usize, len: u64, ctx: &CallerCtx, ) -> Result<()> { ... } async fn futimens( &mut self, id: usize, times: &[TimeSpec], ctx: &CallerCtx, ) -> Result<()> { ... } async fn call( &mut self, id: usize, payload: &mut [u8], metadata: &[u64], ctx: &CallerCtx, ) -> Result<usize> { ... } async fn getdents<'buf>( &mut self, id: usize, buf: DirentBuf<&'buf mut [u8]>, opaque_offset: u64, ) -> Result<DirentBuf<&'buf mut [u8]>> { ... } async fn mmap_prep( &mut self, id: usize, offset: u64, size: usize, flags: MapFlags, ctx: &CallerCtx, ) -> Result<usize> { ... } async fn munmap( &mut self, id: usize, offset: u64, size: usize, flags: MunmapFlags, ctx: &CallerCtx, ) -> Result<()> { ... } async fn on_recvfd( &mut self, recvfd_request: &RecvFdRequest, ) -> Result<OpenResult> { ... }
}

Provided Methods§

Source

async fn open( &mut self, path: &str, flags: usize, ctx: &CallerCtx, ) -> Result<OpenResult>

Source

async fn openat( &mut self, fd: usize, path: &str, flags: usize, fcntl_flags: u32, ctx: &CallerCtx, ) -> Result<OpenResult>

Source

async fn rmdir(&mut self, path: &str, ctx: &CallerCtx) -> Result<()>

Source

async fn dup( &mut self, old_id: usize, buf: &[u8], ctx: &CallerCtx, ) -> Result<OpenResult>

Source

async fn read( &mut self, id: usize, buf: &mut [u8], offset: u64, fcntl_flags: u32, ctx: &CallerCtx, ) -> Result<usize>

Source

async fn write( &mut self, id: usize, buf: &[u8], offset: u64, fcntl_flags: u32, ctx: &CallerCtx, ) -> Result<usize>

Source

async fn fsize(&mut self, id: usize, ctx: &CallerCtx) -> Result<u64>

Source

async fn fchmod( &mut self, id: usize, new_mode: u16, ctx: &CallerCtx, ) -> Result<()>

Source

async fn fchown( &mut self, id: usize, new_uid: u32, new_gid: u32, ctx: &CallerCtx, ) -> Result<()>

Source

async fn fcntl( &mut self, id: usize, cmd: usize, arg: usize, ctx: &CallerCtx, ) -> Result<usize>

Source

async fn fevent( &mut self, id: usize, flags: EventFlags, ctx: &CallerCtx, ) -> Result<EventFlags>

Source

async fn fpath( &mut self, id: usize, buf: &mut [u8], ctx: &CallerCtx, ) -> Result<usize>

Source

async fn frename( &mut self, id: usize, path: &str, ctx: &CallerCtx, ) -> Result<usize>

Source

async fn fstat( &mut self, id: usize, stat: &mut Stat, ctx: &CallerCtx, ) -> Result<()>

Source

async fn fstatvfs( &mut self, id: usize, stat: &mut StatVfs, ctx: &CallerCtx, ) -> Result<()>

Source

async fn fsync(&mut self, id: usize, ctx: &CallerCtx) -> Result<()>

Source

async fn ftruncate( &mut self, id: usize, len: u64, ctx: &CallerCtx, ) -> Result<()>

Source

async fn futimens( &mut self, id: usize, times: &[TimeSpec], ctx: &CallerCtx, ) -> Result<()>

Source

async fn call( &mut self, id: usize, payload: &mut [u8], metadata: &[u64], ctx: &CallerCtx, ) -> Result<usize>

Source

async fn getdents<'buf>( &mut self, id: usize, buf: DirentBuf<&'buf mut [u8]>, opaque_offset: u64, ) -> Result<DirentBuf<&'buf mut [u8]>>

Source

async fn mmap_prep( &mut self, id: usize, offset: u64, size: usize, flags: MapFlags, ctx: &CallerCtx, ) -> Result<usize>

Source

async fn munmap( &mut self, id: usize, offset: u64, size: usize, flags: MunmapFlags, ctx: &CallerCtx, ) -> Result<()>

Source

async fn on_recvfd( &mut self, recvfd_request: &RecvFdRequest, ) -> Result<OpenResult>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§