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§
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>
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.