1N/A/*
1N/A FUSE: Filesystem in Userspace
1N/A Copyright (C) 2001-2007 Miklos Szeredi <miklos@szeredi.hu>
1N/A
1N/A This program can be distributed under the terms of the GNU LGPLv2.
1N/A See the file COPYING.LIB.
1N/A*/
1N/A
1N/A/* these definitions provide source compatibility to prior versions.
1N/A Do not include this file directly! */
1N/A
1N/A#ifndef _FUSE_COMPAT_H_
1N/A#define _FUSE_COMPAT_H_
1N/A
1N/A#ifdef __cplusplus
1N/Aextern "C" {
1N/A#endif
1N/A
1N/Astruct fuse_operations_compat25 {
1N/A int (*getattr) (const char *, struct stat *);
1N/A int (*readlink) (const char *, char *, size_t);
1N/A int (*getdir) (const char *, fuse_dirh_t, fuse_dirfil_t);
1N/A int (*mknod) (const char *, mode_t, dev_t);
1N/A int (*mkdir) (const char *, mode_t);
1N/A int (*unlink) (const char *);
1N/A int (*rmdir) (const char *);
1N/A int (*symlink) (const char *, const char *);
1N/A int (*rename) (const char *, const char *);
1N/A int (*link) (const char *, const char *);
1N/A int (*chmod) (const char *, mode_t);
1N/A int (*chown) (const char *, uid_t, gid_t);
1N/A int (*truncate) (const char *, off_t);
1N/A int (*utime) (const char *, struct utimbuf *);
1N/A int (*open) (const char *, struct fuse_file_info *);
1N/A int (*read) (const char *, char *, size_t, off_t,
1N/A struct fuse_file_info *);
1N/A int (*write) (const char *, const char *, size_t, off_t,
1N/A struct fuse_file_info *);
1N/A int (*statfs) (const char *, struct statvfs *);
1N/A int (*flush) (const char *, struct fuse_file_info *);
1N/A int (*release) (const char *, struct fuse_file_info *);
1N/A int (*fsync) (const char *, int, struct fuse_file_info *);
1N/A int (*setxattr) (const char *, const char *, const char *, size_t, int);
1N/A int (*getxattr) (const char *, const char *, char *, size_t);
1N/A int (*listxattr) (const char *, char *, size_t);
1N/A int (*removexattr) (const char *, const char *);
1N/A int (*opendir) (const char *, struct fuse_file_info *);
1N/A int (*readdir) (const char *, void *, fuse_fill_dir_t, off_t,
1N/A struct fuse_file_info *);
1N/A int (*releasedir) (const char *, struct fuse_file_info *);
1N/A int (*fsyncdir) (const char *, int, struct fuse_file_info *);
1N/A void *(*init) (void);
1N/A void (*destroy) (void *);
1N/A int (*access) (const char *, int);
1N/A int (*create) (const char *, mode_t, struct fuse_file_info *);
1N/A int (*ftruncate) (const char *, off_t, struct fuse_file_info *);
1N/A int (*fgetattr) (const char *, struct stat *, struct fuse_file_info *);
1N/A};
1N/A
1N/Astruct fuse *fuse_new_compat25(int fd, struct fuse_args *args,
1N/A const struct fuse_operations_compat25 *op,
1N/A size_t op_size);
1N/A
1N/Aint fuse_main_real_compat25(int argc, char *argv[],
1N/A const struct fuse_operations_compat25 *op,
1N/A size_t op_size);
1N/A
1N/Astruct fuse *fuse_setup_compat25(int argc, char *argv[],
1N/A const struct fuse_operations_compat25 *op,
1N/A size_t op_size, char **mountpoint,
1N/A int *multithreaded, int *fd);
1N/A
1N/Avoid fuse_teardown_compat22(struct fuse *fuse, int fd, char *mountpoint);
1N/A
1N/A#ifndef __FreeBSD__
1N/A#include <sys/statfs.h>
1N/A
1N/Astruct fuse_operations_compat22 {
1N/A int (*getattr) (const char *, struct stat *);
1N/A int (*readlink) (const char *, char *, size_t);
1N/A int (*getdir) (const char *, fuse_dirh_t, fuse_dirfil_t);
1N/A int (*mknod) (const char *, mode_t, dev_t);
1N/A int (*mkdir) (const char *, mode_t);
1N/A int (*unlink) (const char *);
1N/A int (*rmdir) (const char *);
1N/A int (*symlink) (const char *, const char *);
1N/A int (*rename) (const char *, const char *);
1N/A int (*link) (const char *, const char *);
1N/A int (*chmod) (const char *, mode_t);
1N/A int (*chown) (const char *, uid_t, gid_t);
1N/A int (*truncate) (const char *, off_t);
1N/A int (*utime) (const char *, struct utimbuf *);
1N/A int (*open) (const char *, struct fuse_file_info_compat *);
1N/A int (*read) (const char *, char *, size_t, off_t,
1N/A struct fuse_file_info_compat *);
1N/A int (*write) (const char *, const char *, size_t, off_t,
1N/A struct fuse_file_info_compat *);
1N/A int (*statfs) (const char *, struct statfs *);
1N/A int (*flush) (const char *, struct fuse_file_info_compat *);
1N/A int (*release) (const char *, struct fuse_file_info_compat *);
1N/A int (*fsync) (const char *, int, struct fuse_file_info_compat *);
1N/A int (*setxattr) (const char *, const char *, const char *, size_t, int);
1N/A int (*getxattr) (const char *, const char *, char *, size_t);
1N/A int (*listxattr) (const char *, char *, size_t);
1N/A int (*removexattr) (const char *, const char *);
1N/A int (*opendir) (const char *, struct fuse_file_info_compat *);
1N/A int (*readdir) (const char *, void *, fuse_fill_dir_t, off_t,
1N/A struct fuse_file_info_compat *);
1N/A int (*releasedir) (const char *, struct fuse_file_info_compat *);
1N/A int (*fsyncdir) (const char *, int, struct fuse_file_info_compat *);
1N/A void *(*init) (void);
1N/A void (*destroy) (void *);
1N/A};
1N/A
1N/Astruct fuse *fuse_new_compat22(int fd, const char *opts,
1N/A const struct fuse_operations_compat22 *op,
1N/A size_t op_size);
1N/A
1N/Astruct fuse *fuse_setup_compat22(int argc, char *argv[],
1N/A const struct fuse_operations_compat22 *op,
1N/A size_t op_size, char **mountpoint,
1N/A int *multithreaded, int *fd);
1N/A
1N/Aint fuse_main_real_compat22(int argc, char *argv[],
1N/A const struct fuse_operations_compat22 *op,
1N/A size_t op_size);
1N/A
1N/Atypedef int (*fuse_dirfil_t_compat) (fuse_dirh_t h, const char *name, int type);
1N/Astruct fuse_operations_compat2 {
1N/A int (*getattr) (const char *, struct stat *);
1N/A int (*readlink) (const char *, char *, size_t);
1N/A int (*getdir) (const char *, fuse_dirh_t, fuse_dirfil_t_compat);
1N/A int (*mknod) (const char *, mode_t, dev_t);
1N/A int (*mkdir) (const char *, mode_t);
1N/A int (*unlink) (const char *);
1N/A int (*rmdir) (const char *);
1N/A int (*symlink) (const char *, const char *);
1N/A int (*rename) (const char *, const char *);
1N/A int (*link) (const char *, const char *);
1N/A int (*chmod) (const char *, mode_t);
1N/A int (*chown) (const char *, uid_t, gid_t);
1N/A int (*truncate) (const char *, off_t);
1N/A int (*utime) (const char *, struct utimbuf *);
1N/A int (*open) (const char *, int);
1N/A int (*read) (const char *, char *, size_t, off_t);
1N/A int (*write) (const char *, const char *, size_t, off_t);
1N/A int (*statfs) (const char *, struct statfs *);
1N/A int (*flush) (const char *);
1N/A int (*release) (const char *, int);
1N/A int (*fsync) (const char *, int);
1N/A int (*setxattr) (const char *, const char *, const char *,
1N/A size_t, int);
1N/A int (*getxattr) (const char *, const char *, char *, size_t);
1N/A int (*listxattr) (const char *, char *, size_t);
1N/A int (*removexattr) (const char *, const char *);
1N/A};
1N/A
1N/Aint fuse_main_compat2(int argc, char *argv[],
1N/A const struct fuse_operations_compat2 *op);
1N/A
1N/Astruct fuse *fuse_new_compat2(int fd, const char *opts,
1N/A const struct fuse_operations_compat2 *op);
1N/A
1N/Astruct fuse *fuse_setup_compat2(int argc, char *argv[],
1N/A const struct fuse_operations_compat2 *op,
1N/A char **mountpoint, int *multithreaded, int *fd);
1N/A
1N/Astruct fuse_statfs_compat1 {
1N/A long block_size;
1N/A long blocks;
1N/A long blocks_free;
1N/A long files;
1N/A long files_free;
1N/A long namelen;
1N/A};
1N/A
1N/Astruct fuse_operations_compat1 {
1N/A int (*getattr) (const char *, struct stat *);
1N/A int (*readlink) (const char *, char *, size_t);
1N/A int (*getdir) (const char *, fuse_dirh_t, fuse_dirfil_t_compat);
1N/A int (*mknod) (const char *, mode_t, dev_t);
1N/A int (*mkdir) (const char *, mode_t);
1N/A int (*unlink) (const char *);
1N/A int (*rmdir) (const char *);
1N/A int (*symlink) (const char *, const char *);
1N/A int (*rename) (const char *, const char *);
1N/A int (*link) (const char *, const char *);
1N/A int (*chmod) (const char *, mode_t);
1N/A int (*chown) (const char *, uid_t, gid_t);
1N/A int (*truncate) (const char *, off_t);
1N/A int (*utime) (const char *, struct utimbuf *);
1N/A int (*open) (const char *, int);
1N/A int (*read) (const char *, char *, size_t, off_t);
1N/A int (*write) (const char *, const char *, size_t, off_t);
1N/A int (*statfs) (struct fuse_statfs_compat1 *);
1N/A int (*release) (const char *, int);
1N/A int (*fsync) (const char *, int);
1N/A};
1N/A
1N/A#define FUSE_DEBUG_COMPAT1 (1 << 1)
1N/A
1N/Astruct fuse *fuse_new_compat1(int fd, int flags,
1N/A const struct fuse_operations_compat1 *op);
1N/A
1N/Avoid fuse_main_compat1(int argc, char *argv[],
1N/A const struct fuse_operations_compat1 *op);
1N/A
1N/A#ifdef __cplusplus
1N/A}
1N/A#endif
1N/A
1N/A#endif /* __FreeBSD__ */
1N/A#endif /* _FUSE_COMPAT_H_ */