[][src]Trait fuse::FuseHandlers

pub trait FuseHandlers {
    fn fuse_init(&mut self, request: &FuseInitRequest) -> FuseInitResponse { ... }
fn access(
        &self,
        ctx: ServerContext,
        request: &AccessRequest,
        respond: impl for<'a> Respond<AccessResponse<'a>>
    ) { ... }
fn bmap(
        &self,
        ctx: ServerContext,
        request: &BmapRequest,
        respond: impl for<'a> Respond<BmapResponse<'a>>
    ) { ... }
fn create(
        &self,
        ctx: ServerContext,
        request: &CreateRequest,
        respond: impl for<'a> Respond<CreateResponse<'a>>
    ) { ... }
fn fallocate(
        &self,
        ctx: ServerContext,
        request: &FallocateRequest,
        respond: impl for<'a> Respond<FallocateResponse<'a>>
    ) { ... }
fn flush(
        &self,
        ctx: ServerContext,
        request: &FlushRequest,
        respond: impl for<'a> Respond<FlushResponse<'a>>
    ) { ... }
fn forget(&self, ctx: ServerContext, request: &ForgetRequest) { ... }
fn fsync(
        &self,
        ctx: ServerContext,
        request: &FsyncRequest,
        respond: impl for<'a> Respond<FsyncResponse<'a>>
    ) { ... }
fn fsyncdir(
        &self,
        ctx: ServerContext,
        request: &FsyncdirRequest,
        respond: impl for<'a> Respond<FsyncdirResponse<'a>>
    ) { ... }
fn getattr(
        &self,
        ctx: ServerContext,
        request: &GetattrRequest,
        respond: impl for<'a> Respond<GetattrResponse<'a>>
    ) { ... }
fn getlk(
        &self,
        ctx: ServerContext,
        request: &GetlkRequest,
        respond: impl for<'a> Respond<GetlkResponse<'a>>
    ) { ... }
fn getxattr(
        &self,
        ctx: ServerContext,
        request: &GetxattrRequest,
        respond: impl for<'a> Respond<GetxattrResponse<'a>>
    ) { ... }
fn ioctl(
        &self,
        ctx: ServerContext,
        request: &IoctlRequest,
        respond: impl for<'a> Respond<IoctlResponse<'a>>
    ) { ... }
fn link(
        &self,
        ctx: ServerContext,
        request: &LinkRequest,
        respond: impl for<'a> Respond<LinkResponse<'a>>
    ) { ... }
fn listxattr(
        &self,
        ctx: ServerContext,
        request: &ListxattrRequest,
        respond: impl for<'a> Respond<ListxattrResponse<'a>>
    ) { ... }
fn lookup(
        &self,
        ctx: ServerContext,
        request: &LookupRequest,
        respond: impl for<'a> Respond<LookupResponse<'a>>
    ) { ... }
fn lseek(
        &self,
        ctx: ServerContext,
        request: &LseekRequest,
        respond: impl for<'a> Respond<LseekResponse<'a>>
    ) { ... }
fn mkdir(
        &self,
        ctx: ServerContext,
        request: &MkdirRequest,
        respond: impl for<'a> Respond<MkdirResponse<'a>>
    ) { ... }
fn mknod(
        &self,
        ctx: ServerContext,
        request: &MknodRequest,
        respond: impl for<'a> Respond<MknodResponse<'a>>
    ) { ... }
fn open(
        &self,
        ctx: ServerContext,
        request: &OpenRequest,
        respond: impl for<'a> Respond<OpenResponse<'a>>
    ) { ... }
fn opendir(
        &self,
        ctx: ServerContext,
        request: &OpendirRequest,
        respond: impl for<'a> Respond<OpendirResponse<'a>>
    ) { ... }
fn read(
        &self,
        ctx: ServerContext,
        request: &ReadRequest,
        respond: impl for<'a> Respond<ReadResponse<'a>>
    ) { ... }
fn readdir(
        &self,
        ctx: ServerContext,
        request: &ReaddirRequest,
        respond: impl for<'a> Respond<ReaddirResponse<'a>>
    ) { ... }
fn readlink(
        &self,
        ctx: ServerContext,
        request: &ReadlinkRequest,
        respond: impl for<'a> Respond<ReadlinkResponse<'a>>
    ) { ... }
fn release(
        &self,
        ctx: ServerContext,
        request: &ReleaseRequest,
        respond: impl for<'a> Respond<ReleaseResponse<'a>>
    ) { ... }
fn releasedir(
        &self,
        ctx: ServerContext,
        request: &ReleasedirRequest,
        respond: impl for<'a> Respond<ReleasedirResponse<'a>>
    ) { ... }
fn removexattr(
        &self,
        ctx: ServerContext,
        request: &RemovexattrRequest,
        respond: impl for<'a> Respond<RemovexattrResponse<'a>>
    ) { ... }
fn rename(
        &self,
        ctx: ServerContext,
        request: &RenameRequest,
        respond: impl for<'a> Respond<RenameResponse<'a>>
    ) { ... }
fn rmdir(
        &self,
        ctx: ServerContext,
        request: &RmdirRequest,
        respond: impl for<'a> Respond<RmdirResponse<'a>>
    ) { ... }
fn setattr(
        &self,
        ctx: ServerContext,
        request: &SetattrRequest,
        respond: impl for<'a> Respond<SetattrResponse<'a>>
    ) { ... }
fn setlk(
        &self,
        ctx: ServerContext,
        request: &SetlkRequest,
        respond: impl for<'a> Respond<SetlkResponse<'a>>
    ) { ... }
fn setxattr(
        &self,
        ctx: ServerContext,
        request: &SetxattrRequest,
        respond: impl for<'a> Respond<SetxattrResponse<'a>>
    ) { ... }
fn statfs(
        &self,
        ctx: ServerContext,
        request: &StatfsRequest,
        respond: impl for<'a> Respond<StatfsResponse<'a>>
    ) { ... }
fn symlink(
        &self,
        ctx: ServerContext,
        request: &SymlinkRequest,
        respond: impl for<'a> Respond<SymlinkResponse<'a>>
    ) { ... }
fn unlink(
        &self,
        ctx: ServerContext,
        request: &UnlinkRequest,
        respond: impl for<'a> Respond<UnlinkResponse<'a>>
    ) { ... }
fn write(
        &self,
        ctx: ServerContext,
        request: &WriteRequest,
        respond: impl for<'a> Respond<WriteResponse<'a>>
    ) { ... } }

User-provided handlers for FUSE operations.

Most FUSE handlers (with the exception of fuse_init) are asynchronous. These handlers receive a ServerContext containing information about the request itself, along with a ServerResponseWriter that must be used to send the response.

The default implementation for all async handlers is to respond with ErrorCode::ENOSYS.

Provided methods

fn fuse_init(&mut self, request: &FuseInitRequest) -> FuseInitResponse

fn access(
    &self,
    ctx: ServerContext,
    request: &AccessRequest,
    respond: impl for<'a> Respond<AccessResponse<'a>>
)

This is supported on feature="unstable_access" only.

fn bmap(
    &self,
    ctx: ServerContext,
    request: &BmapRequest,
    respond: impl for<'a> Respond<BmapResponse<'a>>
)

This is supported on feature="unstable_bmap" only.

fn create(
    &self,
    ctx: ServerContext,
    request: &CreateRequest,
    respond: impl for<'a> Respond<CreateResponse<'a>>
)

This is supported on feature="unstable_create" only.

fn fallocate(
    &self,
    ctx: ServerContext,
    request: &FallocateRequest,
    respond: impl for<'a> Respond<FallocateResponse<'a>>
)

This is supported on feature="unstable_fallocate" only.

fn flush(
    &self,
    ctx: ServerContext,
    request: &FlushRequest,
    respond: impl for<'a> Respond<FlushResponse<'a>>
)

This is supported on feature="unstable_flush" only.

fn forget(&self, ctx: ServerContext, request: &ForgetRequest)

fn fsync(
    &self,
    ctx: ServerContext,
    request: &FsyncRequest,
    respond: impl for<'a> Respond<FsyncResponse<'a>>
)

This is supported on feature="unstable_fsync" only.

fn fsyncdir(
    &self,
    ctx: ServerContext,
    request: &FsyncdirRequest,
    respond: impl for<'a> Respond<FsyncdirResponse<'a>>
)

This is supported on feature="unstable_fsyncdir" only.

fn getattr(
    &self,
    ctx: ServerContext,
    request: &GetattrRequest,
    respond: impl for<'a> Respond<GetattrResponse<'a>>
)

fn getlk(
    &self,
    ctx: ServerContext,
    request: &GetlkRequest,
    respond: impl for<'a> Respond<GetlkResponse<'a>>
)

This is supported on feature="unstable_getlk" only.

fn getxattr(
    &self,
    ctx: ServerContext,
    request: &GetxattrRequest,
    respond: impl for<'a> Respond<GetxattrResponse<'a>>
)

fn ioctl(
    &self,
    ctx: ServerContext,
    request: &IoctlRequest,
    respond: impl for<'a> Respond<IoctlResponse<'a>>
)

This is supported on feature="unstable_ioctl" only.

fn listxattr(
    &self,
    ctx: ServerContext,
    request: &ListxattrRequest,
    respond: impl for<'a> Respond<ListxattrResponse<'a>>
)

fn lookup(
    &self,
    ctx: ServerContext,
    request: &LookupRequest,
    respond: impl for<'a> Respond<LookupResponse<'a>>
)

fn lseek(
    &self,
    ctx: ServerContext,
    request: &LseekRequest,
    respond: impl for<'a> Respond<LseekResponse<'a>>
)

This is supported on feature="unstable_lseek" only.

fn mkdir(
    &self,
    ctx: ServerContext,
    request: &MkdirRequest,
    respond: impl for<'a> Respond<MkdirResponse<'a>>
)

fn mknod(
    &self,
    ctx: ServerContext,
    request: &MknodRequest,
    respond: impl for<'a> Respond<MknodResponse<'a>>
)

fn open(
    &self,
    ctx: ServerContext,
    request: &OpenRequest,
    respond: impl for<'a> Respond<OpenResponse<'a>>
)

fn opendir(
    &self,
    ctx: ServerContext,
    request: &OpendirRequest,
    respond: impl for<'a> Respond<OpendirResponse<'a>>
)

fn read(
    &self,
    ctx: ServerContext,
    request: &ReadRequest,
    respond: impl for<'a> Respond<ReadResponse<'a>>
)

fn readdir(
    &self,
    ctx: ServerContext,
    request: &ReaddirRequest,
    respond: impl for<'a> Respond<ReaddirResponse<'a>>
)

fn release(
    &self,
    ctx: ServerContext,
    request: &ReleaseRequest,
    respond: impl for<'a> Respond<ReleaseResponse<'a>>
)

fn releasedir(
    &self,
    ctx: ServerContext,
    request: &ReleasedirRequest,
    respond: impl for<'a> Respond<ReleasedirResponse<'a>>
)

fn removexattr(
    &self,
    ctx: ServerContext,
    request: &RemovexattrRequest,
    respond: impl for<'a> Respond<RemovexattrResponse<'a>>
)

This is supported on feature="unstable_removexattr" only.

fn rename(
    &self,
    ctx: ServerContext,
    request: &RenameRequest,
    respond: impl for<'a> Respond<RenameResponse<'a>>
)

fn rmdir(
    &self,
    ctx: ServerContext,
    request: &RmdirRequest,
    respond: impl for<'a> Respond<RmdirResponse<'a>>
)

fn setattr(
    &self,
    ctx: ServerContext,
    request: &SetattrRequest,
    respond: impl for<'a> Respond<SetattrResponse<'a>>
)

This is supported on feature="unstable_setattr" only.

fn setlk(
    &self,
    ctx: ServerContext,
    request: &SetlkRequest,
    respond: impl for<'a> Respond<SetlkResponse<'a>>
)

This is supported on feature="unstable_setlk" only.

fn setxattr(
    &self,
    ctx: ServerContext,
    request: &SetxattrRequest,
    respond: impl for<'a> Respond<SetxattrResponse<'a>>
)

This is supported on feature="unstable_setxattr" only.

fn statfs(
    &self,
    ctx: ServerContext,
    request: &StatfsRequest,
    respond: impl for<'a> Respond<StatfsResponse<'a>>
)

This is supported on feature="unstable_statfs" only.

fn write(
    &self,
    ctx: ServerContext,
    request: &WriteRequest,
    respond: impl for<'a> Respond<WriteResponse<'a>>
)

Loading content...

Implementors

Loading content...