aboutsummaryrefslogtreecommitdiffstats
path: root/include/fuse_compat.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/fuse_compat.h')
-rw-r--r--include/fuse_compat.h51
1 files changed, 30 insertions, 21 deletions
diff --git a/include/fuse_compat.h b/include/fuse_compat.h
index 176560f..1fe68ec 100644
--- a/include/fuse_compat.h
+++ b/include/fuse_compat.h
@@ -11,6 +11,14 @@
#include <sys/statfs.h>
+struct fuse_file_info_compat22 {
+ int flags;
+ unsigned long fh;
+ int writepage;
+ unsigned int direct_io : 1;
+ unsigned int keep_cache : 1;
+};
+
struct fuse_operations_compat22 {
int (*getattr) (const char *, struct stat *);
int (*readlink) (const char *, char *, size_t);
@@ -26,39 +34,40 @@ struct fuse_operations_compat22 {
int (*chown) (const char *, uid_t, gid_t);
int (*truncate) (const char *, off_t);
int (*utime) (const char *, struct utimbuf *);
- int (*open) (const char *, struct fuse_file_info *);
- int (*read) (const char *, char *, size_t, off_t, struct fuse_file_info *);
+ int (*open) (const char *, struct fuse_file_info_compat22 *);
+ int (*read) (const char *, char *, size_t, off_t,
+ struct fuse_file_info_compat22 *);
int (*write) (const char *, const char *, size_t, off_t,
- struct fuse_file_info *);
+ struct fuse_file_info_compat22 *);
int (*statfs) (const char *, struct statfs *);
- int (*flush) (const char *, struct fuse_file_info *);
- int (*release) (const char *, struct fuse_file_info *);
- int (*fsync) (const char *, int, struct fuse_file_info *);
+ int (*flush) (const char *, struct fuse_file_info_compat22 *);
+ int (*release) (const char *, struct fuse_file_info_compat22 *);
+ int (*fsync) (const char *, int, struct fuse_file_info_compat22 *);
int (*setxattr) (const char *, const char *, const char *, size_t, int);
int (*getxattr) (const char *, const char *, char *, size_t);
int (*listxattr) (const char *, char *, size_t);
int (*removexattr) (const char *, const char *);
- int (*opendir) (const char *, struct fuse_file_info *);
+ int (*opendir) (const char *, struct fuse_file_info_compat22 *);
int (*readdir) (const char *, void *, fuse_fill_dir_t, off_t,
- struct fuse_file_info *);
- int (*releasedir) (const char *, struct fuse_file_info *);
- int (*fsyncdir) (const char *, int, struct fuse_file_info *);
+ struct fuse_file_info_compat22 *);
+ int (*releasedir) (const char *, struct fuse_file_info_compat22 *);
+ int (*fsyncdir) (const char *, int, struct fuse_file_info_compat22 *);
void *(*init) (void);
void (*destroy) (void *);
- int (*access) (const char *, int);
- int (*create) (const char *, mode_t, struct fuse_file_info *);
- int (*ftruncate) (const char *, off_t, struct fuse_file_info *);
- int (*fgetattr) (const char *, struct stat *, struct fuse_file_info *);
- void (*statfs_new) (void);
};
-static inline int fuse_main_compat22(int argc, char *argv[],
- const struct fuse_operations_compat22 *op)
-{
- return fuse_main_real(argc, argv, (const struct fuse_operations *) op,
- sizeof(*op));
-}
+struct fuse *fuse_new_compat22(int fd, const char *opts,
+ const struct fuse_operations_compat22 *op,
+ size_t op_size);
+
+struct fuse *fuse_setup_compat22(int argc, char *argv[],
+ const struct fuse_operations_compat22 *op,
+ size_t op_size, char **mountpoint,
+ int *multithreaded, int *fd);
+int fuse_main_real_compat22(int argc, char *argv[],
+ const struct fuse_operations_compat22 *op,
+ size_t op_size);
typedef int (*fuse_dirfil_t_compat) (fuse_dirh_t h, const char *name, int type);
struct fuse_operations_compat2 {