23 #include <sys/types.h>    25 #include <sys/statvfs.h>    83                                 const struct stat *stbuf, off_t off,
   253         double ac_attr_timeout;
   321         int (*readlink) (
const char *, 
char *, size_t);
   329         int (*mknod) (
const char *, mode_t, dev_t);
   337         int (*mkdir) (
const char *, mode_t);
   340         int (*unlink) (
const char *);
   343         int (*rmdir) (
const char *);
   346         int (*symlink) (
const char *, 
const char *);
   357         int (*rename) (
const char *, 
const char *, 
unsigned int flags);
   360         int (*link) (
const char *, 
const char *);
   447         int (*read) (
const char *, 
char *, size_t, off_t,
   459         int (*write) (
const char *, 
const char *, size_t, off_t,
   466         int (*statfs) (
const char *, 
struct statvfs *);
   520         int (*setxattr) (
const char *, 
const char *, 
const char *, size_t, int);
   523         int (*getxattr) (
const char *, 
const char *, 
char *, size_t);
   526         int (*listxattr) (
const char *, 
char *, size_t);
   529         int (*removexattr) (
const char *, 
const char *);
   586         void (*destroy) (
void *private_data);
   597         int (*access) (
const char *, int);
   656          int (*utimens) (
const char *, 
const struct timespec tv[2],
   665         int (*bmap) (
const char *, 
size_t blocksize, uint64_t *idx);
   683 #if FUSE_USE_VERSION < 35   684         int (*ioctl) (
const char *, 
int cmd, 
void *arg,
   687         int (*ioctl) (
const char *, 
unsigned int cmd, 
void *arg,
   707                      struct fuse_pollhandle *ph, 
unsigned *reventsp);
   765         int (*fallocate) (
const char *, int, off_t, off_t,
   780         ssize_t (*copy_file_range) (
const char *path_in,
   782                                     off_t offset_in, 
const char *path_out,
   784                                     off_t offset_out, 
size_t size, 
int flags);
   875 #define fuse_main(argc, argv, op, private_data)                         \   876         fuse_main_real(argc, argv, op, sizeof(*(op)), private_data)   922 #if FUSE_USE_VERSION == 30   924                          size_t op_size, 
void *private_data);
   925 #define fuse_new(args, op, size, data) fuse_new_30(args, op, size, data)   928                       size_t op_size, 
void *private_data);
   939 int fuse_mount(
struct fuse *f, 
const char *mountpoint);
  1018 #if FUSE_USE_VERSION < 32  1019 int fuse_loop_mt_31(
struct fuse *f, 
int clone_fd);
  1020 #define fuse_loop_mt(f, clone_fd) fuse_loop_mt_31(f, clone_fd)  1131 int fuse_fs_getattr(
struct fuse_fs *fs, 
const char *path, 
struct stat *buf,
  1133 int fuse_fs_rename(
struct fuse_fs *fs, 
const char *oldpath,
  1134                    const char *newpath, 
unsigned int flags);
  1135 int fuse_fs_unlink(
struct fuse_fs *fs, 
const char *path);
  1136 int fuse_fs_rmdir(
struct fuse_fs *fs, 
const char *path);
  1137 int fuse_fs_symlink(
struct fuse_fs *fs, 
const char *linkname,
  1139 int fuse_fs_link(
struct fuse_fs *fs, 
const char *oldpath, 
const char *newpath);
  1140 int fuse_fs_release(
struct fuse_fs *fs,  
const char *path,
  1142 int fuse_fs_open(
struct fuse_fs *fs, 
const char *path,
  1144 int fuse_fs_read(
struct fuse_fs *fs, 
const char *path, 
char *buf, 
size_t size,
  1146 int fuse_fs_read_buf(
struct fuse_fs *fs, 
const char *path,
  1147                      struct fuse_bufvec **bufp, 
size_t size, off_t off,
  1149 int fuse_fs_write(
struct fuse_fs *fs, 
const char *path, 
const char *buf,
  1151 int fuse_fs_write_buf(
struct fuse_fs *fs, 
const char *path,
  1154 int fuse_fs_fsync(
struct fuse_fs *fs, 
const char *path, 
int datasync,
  1156 int fuse_fs_flush(
struct fuse_fs *fs, 
const char *path,
  1158 int fuse_fs_statfs(
struct fuse_fs *fs, 
const char *path, 
struct statvfs *buf);
  1159 int fuse_fs_opendir(
struct fuse_fs *fs, 
const char *path,
  1161 int fuse_fs_readdir(
struct fuse_fs *fs, 
const char *path, 
void *buf,
  1164 int fuse_fs_fsyncdir(
struct fuse_fs *fs, 
const char *path, 
int datasync,
  1166 int fuse_fs_releasedir(
struct fuse_fs *fs, 
const char *path,
  1168 int fuse_fs_create(
struct fuse_fs *fs, 
const char *path, mode_t mode,
  1170 int fuse_fs_lock(
struct fuse_fs *fs, 
const char *path,
  1172 int fuse_fs_flock(
struct fuse_fs *fs, 
const char *path,
  1174 int fuse_fs_chmod(
struct fuse_fs *fs, 
const char *path, mode_t mode,
  1176 int fuse_fs_chown(
struct fuse_fs *fs, 
const char *path, uid_t uid, gid_t gid,
  1178 int fuse_fs_truncate(
struct fuse_fs *fs, 
const char *path, off_t size,
  1180 int fuse_fs_utimens(
struct fuse_fs *fs, 
const char *path,
  1182 int fuse_fs_access(
struct fuse_fs *fs, 
const char *path, 
int mask);
  1183 int fuse_fs_readlink(
struct fuse_fs *fs, 
const char *path, 
char *buf,
  1185 int fuse_fs_mknod(
struct fuse_fs *fs, 
const char *path, mode_t mode,
  1187 int fuse_fs_mkdir(
struct fuse_fs *fs, 
const char *path, mode_t mode);
  1188 int fuse_fs_setxattr(
struct fuse_fs *fs, 
const char *path, 
const char *name,
  1189                      const char *value, 
size_t size, 
int flags);
  1190 int fuse_fs_getxattr(
struct fuse_fs *fs, 
const char *path, 
const char *name,
  1191                      char *value, 
size_t size);
  1192 int fuse_fs_listxattr(
struct fuse_fs *fs, 
const char *path, 
char *list,
  1194 int fuse_fs_removexattr(
struct fuse_fs *fs, 
const char *path,
  1196 int fuse_fs_bmap(
struct fuse_fs *fs, 
const char *path, 
size_t blocksize,
  1198 #if FUSE_USE_VERSION < 35  1199 int fuse_fs_ioctl(
struct fuse_fs *fs, 
const char *path, 
int cmd,
  1203 int fuse_fs_ioctl(
struct fuse_fs *fs, 
const char *path, 
unsigned int cmd,
  1207 int fuse_fs_poll(
struct fuse_fs *fs, 
const char *path,
  1209                  unsigned *reventsp);
  1210 int fuse_fs_fallocate(
struct fuse_fs *fs, 
const char *path, 
int mode,
  1212 ssize_t fuse_fs_copy_file_range(
struct fuse_fs *fs, 
const char *path_in,
  1214                                 const char *path_out,
  1216                                 size_t len, 
int flags);
  1217 off_t fuse_fs_lseek(
struct fuse_fs *fs, 
const char *path, off_t off, 
int whence,
  1219 void fuse_fs_init(
struct fuse_fs *fs, 
struct fuse_conn_info *conn,
  1221 void fuse_fs_destroy(
struct fuse_fs *fs);
  1223 int fuse_notify_poll(
struct fuse_pollhandle *ph);
  1239                             void *private_data);
  1255 typedef struct fuse_fs *(*fuse_module_factory_t)(
struct fuse_args *args,
  1256                                                  struct fuse_fs *fs[]);
  1267 #define FUSE_REGISTER_MODULE(name_, factory_) \  1268         fuse_module_factory_t fuse_module_ ## name_ ## _factory = factory_ 
void fuse_stop_cleanup_thread(struct fuse *fuse)
int fuse_getgroups(int size, gid_t list[])
int fuse_mount(struct fuse *f, const char *mountpoint)
void fuse_exit(struct fuse *f)
int fuse_loop_mt(struct fuse *f, struct fuse_loop_config *config)
void fuse_lib_help(struct fuse_args *args)
void fuse_destroy(struct fuse *f)
int fuse_loop(struct fuse *f)
int fuse_invalidate_path(struct fuse *f, const char *path)
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)
int fuse_open_channel(const char *mountpoint, const char *options)
int fuse_main_real(int argc, char *argv[], const struct fuse_operations *op, size_t op_size, void *private_data)
struct fuse * fuse_new(struct fuse_args *args, const struct fuse_operations *op, size_t op_size, void *private_data)
struct fuse_context * fuse_get_context(void)
int fuse_start_cleanup_thread(struct fuse *fuse)
struct fuse_session * fuse_get_session(struct fuse *f)
void fuse_unmount(struct fuse *f)
int fuse_interrupted(void)
int fuse_clean_cache(struct fuse *fuse)