[−][src]Trait fuse::FuseHandlers
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>>
)
&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>>
)
&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>>
)
&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>>
)
&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>>
)
&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>>
)
&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>>
)
&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>>
)
&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>>
)
&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>>
)
&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>>
)
&self,
ctx: ServerContext,
request: &IoctlRequest,
respond: impl for<'a> Respond<IoctlResponse<'a>>
)
This is supported on
feature="unstable_ioctl"
only.fn link(
&self,
ctx: ServerContext,
request: &LinkRequest,
respond: impl for<'a> Respond<LinkResponse<'a>>
)
&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>>
)
&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>>
)
&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>>
)
&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>>
)
&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>>
)
&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>>
)
&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>>
)
&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>>
)
&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>>
)
&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>>
)
&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>>
)
&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>>
)
&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>>
)
&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>>
)
&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>>
)
&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>>
)
&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>>
)
&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>>
)
&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>>
)
&self,
ctx: ServerContext,
request: &StatfsRequest,
respond: impl for<'a> Respond<StatfsResponse<'a>>
)
This is supported on
feature="unstable_statfs"
only.fn symlink(
&self,
ctx: ServerContext,
request: &SymlinkRequest,
respond: impl for<'a> Respond<SymlinkResponse<'a>>
)
&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>>
)
&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>>
)
&self,
ctx: ServerContext,
request: &WriteRequest,
respond: impl for<'a> Respond<WriteResponse<'a>>
)