10 #include "fuse_lowlevel.h" 15 struct fuse_session *se;
22 unsigned int ioctl_64bit : 1;
32 struct fuse_req *next;
33 struct fuse_req *prev;
36 struct fuse_notify_req {
39 const void *,
const struct fuse_buf *);
40 struct fuse_notify_req *next;
41 struct fuse_notify_req *prev;
48 struct mount_opts *mo;
53 struct cuse_data *cuse_data;
58 struct fuse_req interrupts;
61 pthread_key_t pipe_key;
62 int broken_splice_nonblock;
64 struct fuse_notify_req notify_list;
86 struct fusemod_so *so;
100 struct fuse_chan *fuse_chan_get(
struct fuse_chan *ch);
107 void fuse_chan_put(
struct fuse_chan *ch);
109 struct mount_opts *parse_mount_opts(
struct fuse_args *args);
110 void destroy_mount_opts(
struct mount_opts *mo);
111 void fuse_mount_version(
void);
112 unsigned get_max_read(
struct mount_opts *o);
113 void fuse_kern_unmount(
const char *mountpoint,
int fd);
114 int fuse_kern_mount(
const char *mountpoint,
struct mount_opts *mo);
116 int fuse_send_reply_iov_nofree(
fuse_req_t req,
int error,
struct iovec *iov,
122 int fuse_start_thread(pthread_t *thread_id,
void *(*func)(
void *),
void *arg);
124 int fuse_session_receive_buf_int(
struct fuse_session *se,
struct fuse_buf *buf,
125 struct fuse_chan *ch);
126 void fuse_session_process_buf_int(
struct fuse_session *se,
127 const struct fuse_buf *buf,
struct fuse_chan *ch);
130 size_t op_size,
void *private_data);
132 int fuse_session_loop_mt_32(
struct fuse_session *se,
struct fuse_loop_config *config);
134 #define FUSE_MAX_MAX_PAGES 256 135 #define FUSE_DEFAULT_MAX_PAGES_PER_REQ 32 138 #define FUSE_BUFFER_HEADER_SIZE 0x1000 struct fuse_req * fuse_req_t
struct fuse_fs *(* fuse_module_factory_t)(struct fuse_args *args, struct fuse_fs *fs[])
void(* fuse_interrupt_func_t)(fuse_req_t req, void *data)