aboutsummaryrefslogtreecommitdiffstats
path: root/include/fuse_compat.h
diff options
context:
space:
mode:
authorMiklos Szeredi <miklos@szeredi.hu>2004-12-04 00:40:50 +0000
committerMiklos Szeredi <miklos@szeredi.hu>2004-12-04 00:40:50 +0000
commit0b6a0adc4d44e5b9d0855e257091eec643f3a185 (patch)
tree7334ed0295c1d8bac701fea6778923bd383225e5 /include/fuse_compat.h
parentaa63b6b0f9d2c2e160554b788b000c5bc6f52309 (diff)
downloadlibfuse-0b6a0adc4d44e5b9d0855e257091eec643f3a185.tar.gz
backward compatibility
Diffstat (limited to 'include/fuse_compat.h')
-rw-r--r--include/fuse_compat.h85
1 files changed, 85 insertions, 0 deletions
diff --git a/include/fuse_compat.h b/include/fuse_compat.h
new file mode 100644
index 0000000..7ec9a29
--- /dev/null
+++ b/include/fuse_compat.h
@@ -0,0 +1,85 @@
+/*
+ FUSE: Filesystem in Userspace
+ Copyright (C) 2001-2004 Miklos Szeredi <miklos@szeredi.hu>
+
+ This program can be distributed under the terms of the GNU LGPL.
+ See the file COPYING.LIB.
+*/
+
+/* these definitions provide source compatibility to prior versions.
+ Do not include this file directly! */
+
+typedef int (*_fuse_dirfil_t_compat) (fuse_dirh_t h, const char *name, int type);
+struct _fuse_operations_compat2 {
+ int (*getattr) (const char *, struct stat *);
+ int (*readlink) (const char *, char *, size_t);
+ int (*getdir) (const char *, fuse_dirh_t, _fuse_dirfil_t_compat);
+ int (*mknod) (const char *, mode_t, dev_t);
+ int (*mkdir) (const char *, mode_t);
+ int (*unlink) (const char *);
+ int (*rmdir) (const char *);
+ int (*symlink) (const char *, const char *);
+ int (*rename) (const char *, const char *);
+ int (*link) (const char *, const char *);
+ int (*chmod) (const char *, mode_t);
+ int (*chown) (const char *, uid_t, gid_t);
+ int (*truncate) (const char *, off_t);
+ int (*utime) (const char *, struct utimbuf *);
+ int (*open) (const char *, int);
+ int (*read) (const char *, char *, size_t, off_t);
+ int (*write) (const char *, const char *, size_t, off_t);
+ int (*statfs) (const char *, struct statfs *);
+ int (*flush) (const char *);
+ int (*release) (const char *, int);
+ int (*fsync) (const char *, int);
+ 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 _fuse_main_compat2(int argc, char *argv[], const struct _fuse_operations_compat2 *op);
+
+struct fuse *_fuse_new_compat2(int fd, const char *opts, const struct _fuse_operations_compat2 *op);
+
+struct fuse *_fuse_setup_compat2(int argc, char *argv[], const struct _fuse_operations_compat2 *op, char **mountpoint, int *multithreaded, int *fd);
+
+struct _fuse_statfs_compat1 {
+ long block_size;
+ long blocks;
+ long blocks_free;
+ long files;
+ long files_free;
+ long namelen;
+};
+
+struct _fuse_operations_compat1 {
+ int (*getattr) (const char *, struct stat *);
+ int (*readlink) (const char *, char *, size_t);
+ int (*getdir) (const char *, fuse_dirh_t, _fuse_dirfil_t_compat);
+ int (*mknod) (const char *, mode_t, dev_t);
+ int (*mkdir) (const char *, mode_t);
+ int (*unlink) (const char *);
+ int (*rmdir) (const char *);
+ int (*symlink) (const char *, const char *);
+ int (*rename) (const char *, const char *);
+ int (*link) (const char *, const char *);
+ int (*chmod) (const char *, mode_t);
+ int (*chown) (const char *, uid_t, gid_t);
+ int (*truncate) (const char *, off_t);
+ int (*utime) (const char *, struct utimbuf *);
+ int (*open) (const char *, int);
+ int (*read) (const char *, char *, size_t, off_t);
+ int (*write) (const char *, const char *, size_t, off_t);
+ int (*statfs) (struct _fuse_statfs_compat1 *);
+ int (*release) (const char *, int);
+ int (*fsync) (const char *, int);
+};
+
+#define _FUSE_DEBUG_COMPAT1 (1 << 1)
+
+int _fuse_mount_compat1(const char *mountpoint, const char *args[]);
+
+struct fuse *_fuse_new_compat1(int fd, int flags, const struct _fuse_operations_compat1 *op);
+
+void _fuse_main_compat1(int argc, char *argv[], const struct _fuse_operations_compat1 *op);