[][src]Trait syscall::scheme::SchemeBlockMut

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

Provided methods

fn handle(&mut self, packet: &Packet) -> Option<usize>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

fn recv_io_uring_raw(
    &mut self,
    ctx: Ctx,
    info_buf: &[u8]
) -> Result<Option<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<Option<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<Option<usize>>

Loading content...

Implementors

Loading content...