aboutsummaryrefslogtreecommitdiff
path: root/lib/fuse_i.h
diff options
context:
space:
mode:
authorGravatar Miklos Szeredi <mszeredi@suse.cz>2013-06-21 13:35:30 +0200
committerGravatar Miklos Szeredi <mszeredi@suse.cz>2013-06-21 13:35:30 +0200
commitb13051ae4179a0fa7b7febda8cf9cece12a73119 (patch)
tree5b88b4b755b567be3546a01f0657b17af86a045e /lib/fuse_i.h
parent2bcfd55fc145430e49193715417ced10d58d7b54 (diff)
libfuse: clean up fuse_session
Clean up fuse_session related interfaces. Remove the following from the lowlevel library API: struct fuse_session_ops; fuse_session_new(); fuse_session_process(); fuse_session_data();
Diffstat (limited to 'lib/fuse_i.h')
-rw-r--r--lib/fuse_i.h21
1 files changed, 19 insertions, 2 deletions
diff --git a/lib/fuse_i.h b/lib/fuse_i.h
index 33fbb43..c205fa8 100644
--- a/lib/fuse_i.h
+++ b/lib/fuse_i.h
@@ -13,14 +13,14 @@ struct fuse_chan;
struct fuse_ll;
struct fuse_session {
- struct fuse_session_ops op;
-
int (*receive_buf)(struct fuse_session *se, struct fuse_buf *buf,
struct fuse_chan **chp);
void (*process_buf)(void *data, const struct fuse_buf *buf,
struct fuse_chan *ch);
+ void (*destroy) (void *data);
+
void *data;
volatile int exited;
@@ -95,6 +95,23 @@ struct fuse_chan *fuse_kern_chan_new(int fd);
int fuse_chan_clearfd(struct fuse_chan *ch);
+/**
+ * Create a new session
+ *
+ * @param data user data
+ * @return new session object, or NULL on failure
+ */
+struct fuse_session *fuse_session_new(void *data);
+
+/**
+ * Get the user data provided to the session
+ *
+ * @param se the session
+ * @return the user data
+ */
+void *fuse_session_data(struct fuse_session *se);
+
+
void fuse_kern_unmount(const char *mountpoint, int fd);
int fuse_kern_mount(const char *mountpoint, struct fuse_args *args);