10#include "fuse_lowlevel.h" 
   27        struct fuse_session *se;
 
   34        unsigned int ioctl_64bit : 1;
 
   44        struct fuse_req *next;
 
   45        struct fuse_req *prev;
 
   48struct fuse_notify_req {
 
   51                      const void *, 
const struct fuse_buf *);
 
   52        struct fuse_notify_req *next;
 
   53        struct fuse_notify_req *prev;
 
   60        struct fuse_custom_io *io;
 
   61        struct mount_opts *mo;
 
   66        struct cuse_data *cuse_data;
 
   71        struct fuse_req interrupts;
 
   74        pthread_key_t pipe_key;
 
   75        int broken_splice_nonblock;
 
   77        struct fuse_notify_req notify_list;
 
   78        _Atomic 
size_t bufsize;
 
  107        struct fusemod_so *so;
 
  119#if FUSE_USE_VERSION >= FUSE_MAKE_VERSION(3, 12) 
  172struct fuse_chan *fuse_chan_get(
struct fuse_chan *ch);
 
  179void fuse_chan_put(
struct fuse_chan *ch);
 
  181struct mount_opts *parse_mount_opts(
struct fuse_args *args);
 
  182void destroy_mount_opts(
struct mount_opts *mo);
 
  183void fuse_mount_version(
void);
 
  184unsigned get_max_read(
struct mount_opts *o);
 
  185void fuse_kern_unmount(
const char *mountpoint, 
int fd);
 
  186int fuse_kern_mount(
const char *mountpoint, 
struct mount_opts *mo);
 
  188int fuse_send_reply_iov_nofree(
fuse_req_t req, 
int error, 
struct iovec *iov,
 
  194int fuse_start_thread(pthread_t *thread_id, 
void *(*func)(
void *), 
void *arg);
 
  196void fuse_buf_free(
struct fuse_buf *buf);
 
  198int fuse_session_receive_buf_internal(
struct fuse_session *se,
 
  200                                      struct fuse_chan *ch);
 
  201void fuse_session_process_buf_internal(
struct fuse_session *se,
 
  203                                       struct fuse_chan *ch);
 
  206                      size_t op_size, 
void *private_data);
 
  208int fuse_session_loop_mt_312(
struct fuse_session *se, 
struct fuse_loop_config *config);
 
  224#define FUSE_DEFAULT_MAX_PAGES_LIMIT 256 
  225#define FUSE_DEFAULT_MAX_PAGES_PER_REQ 32 
  228#define FUSE_BUFFER_HEADER_SIZE 0x1000 
  233static inline int convert_to_conn_want_ext(
struct fuse_conn_info *conn,
 
  234                                           uint64_t want_ext_default,
 
  235                                           uint32_t want_default)
 
  246        if (conn->
want != want_default &&
 
  248                if (conn->
want_ext != want_ext_default) {
 
  250                                 "fuse: both 'want' and 'want_ext' are set\n");
 
struct fuse_fs *(* fuse_module_factory_t)(struct fuse_args *args, struct fuse_fs *fs[])
void fuse_log(enum fuse_log_level level, const char *fmt,...)
void(* fuse_interrupt_func_t)(fuse_req_t req, void *data)
struct fuse_req * fuse_req_t
unsigned int max_idle_threads