From 777663953382925c7403f0560c28ec9bbd14d7be Mon Sep 17 00:00:00 2001 From: y Date: Mon, 14 Nov 2022 11:55:39 +0100 Subject: libfuse custom communication interface libfuse can now be used without having a mount interface. --- include/fuse_lowlevel.h | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'include/fuse_lowlevel.h') diff --git a/include/fuse_lowlevel.h b/include/fuse_lowlevel.h index 53f0fcf..955482c 100644 --- a/include/fuse_lowlevel.h +++ b/include/fuse_lowlevel.h @@ -1954,6 +1954,25 @@ struct fuse_session *fuse_session_new(struct fuse_args *args, const struct fuse_lowlevel_ops *op, size_t op_size, void *userdata); +/** + * Set a file descriptor for the session. + * + * This function can be used if you want to have a custom communication + * interface instead of using a mountpoint. In practice, this means that instead + * of calling fuse_session_mount() and fuse_session_unmount(), one could call + * fuse_custom_session_fd() where fuse_session_mount() would have otherwise been + * called. + * + * This function does not open or close any file descriptors, meaning it is the + * responsibility of the caller to provide a valid file descriptor, such as a + * accepted socket. It is also the responsibility to close the socket. + * + * @param se session object + * @param fd file descriptor for the session + * + **/ +void fuse_custom_session_fd(struct fuse_session *se, int fd); + /** * Mount a FUSE file system. * -- cgit v1.2.3