diff options
author | Miklos Szeredi <miklos@szeredi.hu> | 2004-12-04 00:40:50 +0000 |
---|---|---|
committer | Miklos Szeredi <miklos@szeredi.hu> | 2004-12-04 00:40:50 +0000 |
commit | 0b6a0adc4d44e5b9d0855e257091eec643f3a185 (patch) | |
tree | 7334ed0295c1d8bac701fea6778923bd383225e5 /include/fuse_compat.h | |
parent | aa63b6b0f9d2c2e160554b788b000c5bc6f52309 (diff) | |
download | libfuse-0b6a0adc4d44e5b9d0855e257091eec643f3a185.tar.gz |
backward compatibility
Diffstat (limited to 'include/fuse_compat.h')
-rw-r--r-- | include/fuse_compat.h | 85 |
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); |