[][src]Trait syscall::scheme::SchemeMut

pub trait SchemeMut {
    fn handle(&mut self, packet: &mut Packet) { ... }
fn open(
        &mut self,
        path: &[u8],
        flags: usize,
        uid: u32,
        gid: u32
    ) -> Result<usize> { ... }
fn chmod(
        &mut self,
        path: &[u8],
        mode: u16,
        uid: u32,
        gid: u32
    ) -> Result<usize> { ... }
fn rmdir(&mut self, path: &[u8], uid: u32, gid: u32) -> Result<usize> { ... }
fn unlink(&mut self, path: &[u8], uid: u32, gid: u32) -> Result<usize> { ... }
fn dup(&mut self, old_id: usize, buf: &[u8]) -> Result<usize> { ... }
fn read(&mut self, id: usize, buf: &mut [u8]) -> Result<usize> { ... }
fn write(&mut self, id: usize, buf: &[u8]) -> Result<usize> { ... }
fn seek(&mut self, id: usize, pos: usize, whence: usize) -> Result<usize> { ... }
fn fchmod(&mut self, id: usize, mode: u16) -> Result<usize> { ... }
fn fchown(&mut self, id: usize, uid: u32, gid: u32) -> Result<usize> { ... }
fn fcntl(&mut self, id: usize, cmd: usize, arg: usize) -> Result<usize> { ... }
fn fevent(&mut self, id: usize, flags: EventFlags) -> Result<EventFlags> { ... }
fn fmap(&mut self, id: usize, map: &Map) -> Result<usize> { ... }
fn funmap(&mut self, address: usize) -> Result<usize> { ... }
fn fpath(&mut self, id: usize, buf: &mut [u8]) -> Result<usize> { ... }
fn frename(
        &mut self,
        id: usize,
        path: &[u8],
        uid: u32,
        gid: u32
    ) -> Result<usize> { ... }
fn fstat(&mut self, id: usize, stat: &mut Stat) -> Result<usize> { ... }
fn fstatvfs(&mut self, id: usize, stat: &mut StatVfs) -> Result<usize> { ... }
fn fsync(&mut self, id: usize) -> Result<usize> { ... }
fn ftruncate(&mut self, id: usize, len: usize) -> Result<usize> { ... }
fn futimens(&mut self, id: usize, times: &[TimeSpec]) -> Result<usize> { ... }
fn recv_io_uring_raw(&mut self, ctx: Ctx, info_buf: &[u8]) -> Result<usize> { ... }
fn recv_io_uring(
        &mut self,
        ctx: Ctx,
        info: &IoUringRecvInfo
    ) -> Result<usize> { ... }
fn close(&mut self, id: usize) -> Result<usize> { ... } }

Provided methods

fn handle(&mut self, packet: &mut Packet)

fn open(
    &mut self,
    path: &[u8],
    flags: usize,
    uid: u32,
    gid: u32
) -> Result<usize>

fn chmod(&mut self, path: &[u8], mode: u16, uid: u32, gid: u32) -> Result<usize>

fn rmdir(&mut self, path: &[u8], uid: u32, gid: u32) -> Result<usize>

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

fn read(&mut self, id: usize, buf: &mut [u8]) -> Result<usize>

fn write(&mut self, id: usize, buf: &[u8]) -> Result<usize>

fn seek(&mut self, id: usize, pos: usize, whence: usize) -> Result<usize>

fn fchmod(&mut self, id: usize, mode: u16) -> Result<usize>

fn fchown(&mut self, id: usize, uid: u32, gid: u32) -> Result<usize>

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

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

fn fmap(&mut self, id: usize, map: &Map) -> Result<usize>

fn funmap(&mut self, address: usize) -> Result<usize>

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

fn frename(
    &mut self,
    id: usize,
    path: &[u8],
    uid: u32,
    gid: u32
) -> Result<usize>

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

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

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

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

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

fn recv_io_uring_raw(&mut self, ctx: Ctx, info_buf: &[u8]) -> Result<usize>

The raw syscall invoked by the kernel when the scheme is requested to have an io_uring attached. This function will most likely not be needed directly, but rather the convenience wrapper recv_io_uring.

fn recv_io_uring(&mut self, ctx: Ctx, info: &IoUringRecvInfo) -> Result<usize>

Called by the kernel when a userspace program has invoked attach_iouring onto an fd owned by this scheme. The return value is expected to be zero in case the scheme accepted the io_uring, or one otherwise.

fn close(&mut self, id: usize) -> Result<usize>

Loading content...

Implementors

Loading content...