23 #include <sys/types.h> 
   25 #include <sys/statvfs.h> 
   86                                 const struct stat *stbuf, off_t off,
 
  264         double ac_attr_timeout;
 
  354         int (*
mknod) (
const char *, mode_t, dev_t);
 
  362         int (*
mkdir) (
const char *, mode_t);
 
  385         int (*
link) (
const char *, 
const char *);
 
  472         int (*
read) (
const char *, 
char *, size_t, off_t,
 
  484         int (*
write) (
const char *, 
const char *, size_t, off_t,
 
  491         int (*
statfs) (
const char *, 
struct statvfs *);
 
  545         int (*
setxattr) (
const char *, 
const char *, 
const char *, size_t, int);
 
  548         int (*
getxattr) (
const char *, 
const char *, 
char *, size_t);
 
  694          int (*
utimens) (
const char *, 
const struct timespec tv[2],
 
  703         int (*
bmap) (
const char *, 
size_t blocksize, uint64_t *idx);
 
  705 #if FUSE_USE_VERSION < 35 
  706         int (*
ioctl) (
const char *, 
int cmd, 
void *arg,
 
  725         int (*
ioctl) (
const char *, 
unsigned int cmd, 
void *arg,
 
  745                      struct fuse_pollhandle *ph, 
unsigned *reventsp);
 
  820                                     off_t offset_in, 
const char *path_out,
 
  822                                     off_t offset_out, 
size_t size, 
int flags);
 
  913 #define fuse_main(argc, argv, op, private_data)                         \ 
  914         fuse_main_real(argc, argv, op, sizeof(*(op)), private_data) 
  960 #if FUSE_USE_VERSION == 30 
  962                          size_t op_size, 
void *private_data);
 
  963 #define fuse_new(args, op, size, data) fuse_new_30(args, op, size, data) 
  965 #if (defined(LIBFUSE_BUILT_WITH_VERSIONED_SYMBOLS)) 
  967                       size_t op_size, 
void *private_data);
 
  971                       size_t op_size, 
void *user_data);
 
  972 #define fuse_new(args, op, size, data) fuse_new_31(args, op, size, data) 
  984 int fuse_mount(
struct fuse *f, 
const char *mountpoint);
 
 1032 #if FUSE_USE_VERSION < 32 
 1033 int fuse_loop_mt_31(
struct fuse *f, 
int clone_fd);
 
 1034 #define fuse_loop_mt(f, clone_fd) fuse_loop_mt_31(f, clone_fd) 
 1035 #elif FUSE_USE_VERSION < FUSE_MAKE_VERSION(3, 12) 
 1037 #define fuse_loop_mt(f, config) fuse_loop_mt_32(f, config) 
 1070 #if (defined(LIBFUSE_BUILT_WITH_VERSIONED_SYMBOLS)) 
 1073 #define fuse_loop_mt(f, config) fuse_loop_mt_312(f, config) 
 1184 int fuse_fs_getattr(
struct fuse_fs *fs, 
const char *path, 
struct stat *buf,
 
 1186 int fuse_fs_rename(
struct fuse_fs *fs, 
const char *oldpath,
 
 1187                    const char *newpath, 
unsigned int flags);
 
 1188 int fuse_fs_unlink(
struct fuse_fs *fs, 
const char *path);
 
 1189 int fuse_fs_rmdir(
struct fuse_fs *fs, 
const char *path);
 
 1190 int fuse_fs_symlink(
struct fuse_fs *fs, 
const char *linkname,
 
 1192 int fuse_fs_link(
struct fuse_fs *fs, 
const char *oldpath, 
const char *newpath);
 
 1193 int fuse_fs_release(
struct fuse_fs *fs,  
const char *path,
 
 1195 int fuse_fs_open(
struct fuse_fs *fs, 
const char *path,
 
 1197 int fuse_fs_read(
struct fuse_fs *fs, 
const char *path, 
char *buf, 
size_t size,
 
 1199 int fuse_fs_read_buf(
struct fuse_fs *fs, 
const char *path,
 
 1200                      struct fuse_bufvec **bufp, 
size_t size, off_t off,
 
 1202 int fuse_fs_write(
struct fuse_fs *fs, 
const char *path, 
const char *buf,
 
 1204 int fuse_fs_write_buf(
struct fuse_fs *fs, 
const char *path,
 
 1207 int fuse_fs_fsync(
struct fuse_fs *fs, 
const char *path, 
int datasync,
 
 1209 int fuse_fs_flush(
struct fuse_fs *fs, 
const char *path,
 
 1211 int fuse_fs_statfs(
struct fuse_fs *fs, 
const char *path, 
struct statvfs *buf);
 
 1212 int fuse_fs_opendir(
struct fuse_fs *fs, 
const char *path,
 
 1214 int fuse_fs_readdir(
struct fuse_fs *fs, 
const char *path, 
void *buf,
 
 1217 int fuse_fs_fsyncdir(
struct fuse_fs *fs, 
const char *path, 
int datasync,
 
 1219 int fuse_fs_releasedir(
struct fuse_fs *fs, 
const char *path,
 
 1221 int fuse_fs_create(
struct fuse_fs *fs, 
const char *path, mode_t mode,
 
 1223 int fuse_fs_lock(
struct fuse_fs *fs, 
const char *path,
 
 1225 int fuse_fs_flock(
struct fuse_fs *fs, 
const char *path,
 
 1227 int fuse_fs_chmod(
struct fuse_fs *fs, 
const char *path, mode_t mode,
 
 1229 int fuse_fs_chown(
struct fuse_fs *fs, 
const char *path, uid_t uid, gid_t gid,
 
 1231 int fuse_fs_truncate(
struct fuse_fs *fs, 
const char *path, off_t size,
 
 1233 int fuse_fs_utimens(
struct fuse_fs *fs, 
const char *path,
 
 1235 int fuse_fs_access(
struct fuse_fs *fs, 
const char *path, 
int mask);
 
 1236 int fuse_fs_readlink(
struct fuse_fs *fs, 
const char *path, 
char *buf,
 
 1238 int fuse_fs_mknod(
struct fuse_fs *fs, 
const char *path, mode_t mode,
 
 1240 int fuse_fs_mkdir(
struct fuse_fs *fs, 
const char *path, mode_t mode);
 
 1241 int fuse_fs_setxattr(
struct fuse_fs *fs, 
const char *path, 
const char *name,
 
 1242                      const char *value, 
size_t size, 
int flags);
 
 1243 int fuse_fs_getxattr(
struct fuse_fs *fs, 
const char *path, 
const char *name,
 
 1244                      char *value, 
size_t size);
 
 1245 int fuse_fs_listxattr(
struct fuse_fs *fs, 
const char *path, 
char *list,
 
 1247 int fuse_fs_removexattr(
struct fuse_fs *fs, 
const char *path,
 
 1249 int fuse_fs_bmap(
struct fuse_fs *fs, 
const char *path, 
size_t blocksize,
 
 1251 #if FUSE_USE_VERSION < 35 
 1252 int fuse_fs_ioctl(
struct fuse_fs *fs, 
const char *path, 
int cmd,
 
 1256 int fuse_fs_ioctl(
struct fuse_fs *fs, 
const char *path, 
unsigned int cmd,
 
 1260 int fuse_fs_poll(
struct fuse_fs *fs, 
const char *path,
 
 1262                  unsigned *reventsp);
 
 1263 int fuse_fs_fallocate(
struct fuse_fs *fs, 
const char *path, 
int mode,
 
 1265 ssize_t fuse_fs_copy_file_range(
struct fuse_fs *fs, 
const char *path_in,
 
 1267                                 const char *path_out,
 
 1269                                 size_t len, 
int flags);
 
 1270 off_t fuse_fs_lseek(
struct fuse_fs *fs, 
const char *path, off_t off, 
int whence,
 
 1272 void fuse_fs_init(
struct fuse_fs *fs, 
struct fuse_conn_info *conn,
 
 1274 void fuse_fs_destroy(
struct fuse_fs *fs);
 
 1276 int fuse_notify_poll(
struct fuse_pollhandle *ph);
 
 1292                             void *private_data);
 
 1308 typedef struct fuse_fs *(*fuse_module_factory_t)(
struct fuse_args *args,
 
 1309                                                  struct fuse_fs *fs[]);
 
 1320 #define FUSE_REGISTER_MODULE(name_, factory_) \ 
 1321         fuse_module_factory_t fuse_module_ ## name_ ## _factory = factory_ 
struct fuse_session * fuse_get_session(struct fuse *f)
int fuse_getgroups(int size, gid_t list[])
int fuse_mount(struct fuse *f, const char *mountpoint)
int fuse_interrupted(void)
void fuse_destroy(struct fuse *f)
int fuse_start_cleanup_thread(struct fuse *fuse)
int fuse_invalidate_path(struct fuse *f, const char *path)
struct fuse * fuse_new_31(struct fuse_args *args, const struct fuse_operations *op, size_t op_size, void *user_data)
int fuse_loop(struct fuse *f)
struct fuse_fs * fuse_fs_new(const struct fuse_operations *op, size_t op_size, void *private_data)
int(* fuse_fill_dir_t)(void *buf, const char *name, const struct stat *stbuf, off_t off, enum fuse_fill_dir_flags flags)
void fuse_exit(struct fuse *f)
int fuse_clean_cache(struct fuse *fuse)
struct fuse_context * fuse_get_context(void)
void fuse_lib_help(struct fuse_args *args)
int fuse_open_channel(const char *mountpoint, const char *options)
void fuse_unmount(struct fuse *f)
void fuse_stop_cleanup_thread(struct fuse *fuse)
int fuse_main_real(int argc, char *argv[], const struct fuse_operations *op, size_t op_size, void *private_data)
int parallel_direct_writes
int(* mkdir)(const char *, mode_t)
int(* truncate)(const char *, off_t, struct fuse_file_info *fi)
int(* mknod)(const char *, mode_t, dev_t)
int(* utimens)(const char *, const struct timespec tv[2], struct fuse_file_info *fi)
int(* open)(const char *, struct fuse_file_info *)
int(* opendir)(const char *, struct fuse_file_info *)
int(* link)(const char *, const char *)
int(* lock)(const char *, struct fuse_file_info *, int cmd, struct flock *)
int(* read_buf)(const char *, struct fuse_bufvec **bufp, size_t size, off_t off, struct fuse_file_info *)
int(* access)(const char *, int)
int(* read)(const char *, char *, size_t, off_t, struct fuse_file_info *)
int(* poll)(const char *, struct fuse_file_info *, struct fuse_pollhandle *ph, unsigned *reventsp)
void(* destroy)(void *private_data)
int(* statfs)(const char *, struct statvfs *)
int(* fallocate)(const char *, int, off_t, off_t, struct fuse_file_info *)
int(* removexattr)(const char *, const char *)
int(* getattr)(const char *, struct stat *, struct fuse_file_info *fi)
int(* releasedir)(const char *, struct fuse_file_info *)
int(* rename)(const char *, const char *, unsigned int flags)
off_t(* lseek)(const char *, off_t off, int whence, struct fuse_file_info *)
int(* write)(const char *, const char *, size_t, off_t, struct fuse_file_info *)
int(* write_buf)(const char *, struct fuse_bufvec *buf, off_t off, struct fuse_file_info *)
int(* unlink)(const char *)
ssize_t(* copy_file_range)(const char *path_in, struct fuse_file_info *fi_in, off_t offset_in, const char *path_out, struct fuse_file_info *fi_out, off_t offset_out, size_t size, int flags)
int(* fsync)(const char *, int, struct fuse_file_info *)
int(* create)(const char *, mode_t, struct fuse_file_info *)
int(* setxattr)(const char *, const char *, const char *, size_t, int)
int(* listxattr)(const char *, char *, size_t)
int(* readlink)(const char *, char *, size_t)
int(* symlink)(const char *, const char *)
int(* fsyncdir)(const char *, int, struct fuse_file_info *)
int(* release)(const char *, struct fuse_file_info *)
int(* chown)(const char *, uid_t, gid_t, struct fuse_file_info *fi)
int(* chmod)(const char *, mode_t, struct fuse_file_info *fi)
int(* rmdir)(const char *)
int(* flush)(const char *, struct fuse_file_info *)
int(* flock)(const char *, struct fuse_file_info *, int op)
int(* ioctl)(const char *, unsigned int cmd, void *arg, struct fuse_file_info *, unsigned int flags, void *data)
int(* readdir)(const char *, void *, fuse_fill_dir_t, off_t, struct fuse_file_info *, enum fuse_readdir_flags)
int(* getxattr)(const char *, const char *, char *, size_t)
int(* bmap)(const char *, size_t blocksize, uint64_t *idx)