diff options
author | Miklos Szeredi <miklos@szeredi.hu> | 2004-03-30 15:17:26 +0000 |
---|---|---|
committer | Miklos Szeredi <miklos@szeredi.hu> | 2004-03-30 15:17:26 +0000 |
commit | 3ed84231ec6d4a66a5b20db355eb6e9585e9edc5 (patch) | |
tree | b5f1bb251e0af63d3986d05db89ef38f99cb6022 /include | |
parent | 98667e21f5657c7f4031523dc675c352825855d1 (diff) | |
download | libfuse-3ed84231ec6d4a66a5b20db355eb6e9585e9edc5.tar.gz |
EA operations added
Diffstat (limited to 'include')
-rw-r--r-- | include/fuse.h | 44 | ||||
-rw-r--r-- | include/linux/fuse.h | 53 |
2 files changed, 57 insertions, 40 deletions
diff --git a/include/fuse.h b/include/fuse.h index 7a751ae..79c62a6 100644 --- a/include/fuse.h +++ b/include/fuse.h @@ -91,26 +91,30 @@ typedef int (*fuse_dirfil_t) (fuse_dirh_t h, const char *name, int type); * an fdatasync() operation. */ struct fuse_operations { - int (*getattr) (const char *, struct stat *); - int (*readlink) (const char *, char *, size_t); - int (*getdir) (const char *, fuse_dirh_t, fuse_dirfil_t); - 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 (*release) (const char *, int); - int (*fsync) (const char *, int); + int (*getattr) (const char *, struct stat *); + int (*readlink) (const char *, char *, size_t); + int (*getdir) (const char *, fuse_dirh_t, fuse_dirfil_t); + 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 (*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 *); }; /** Extra context that may be needed by some filesystems */ diff --git a/include/linux/fuse.h b/include/linux/fuse.h index d5fd357..f641271 100644 --- a/include/linux/fuse.h +++ b/include/linux/fuse.h @@ -94,26 +94,30 @@ struct fuse_kstatfs { #define FATTR_CTIME (1 << 6) enum fuse_opcode { - FUSE_LOOKUP = 1, - FUSE_FORGET = 2, /* no reply */ - FUSE_GETATTR = 3, - FUSE_SETATTR = 4, - FUSE_READLINK = 5, - FUSE_SYMLINK = 6, - FUSE_GETDIR = 7, - FUSE_MKNOD = 8, - FUSE_MKDIR = 9, - FUSE_UNLINK = 10, - FUSE_RMDIR = 11, - FUSE_RENAME = 12, - FUSE_LINK = 13, - FUSE_OPEN = 14, - FUSE_READ = 15, - FUSE_WRITE = 16, - FUSE_STATFS = 17, - FUSE_RELEASE = 18, /* no reply */ - FUSE_INVALIDATE = 19, /* user initiated */ - FUSE_FSYNC = 20 + FUSE_LOOKUP = 1, + FUSE_FORGET = 2, /* no reply */ + FUSE_GETATTR = 3, + FUSE_SETATTR = 4, + FUSE_READLINK = 5, + FUSE_SYMLINK = 6, + FUSE_GETDIR = 7, + FUSE_MKNOD = 8, + FUSE_MKDIR = 9, + FUSE_UNLINK = 10, + FUSE_RMDIR = 11, + FUSE_RENAME = 12, + FUSE_LINK = 13, + FUSE_OPEN = 14, + FUSE_READ = 15, + FUSE_WRITE = 16, + FUSE_STATFS = 17, + FUSE_RELEASE = 18, /* no reply */ + FUSE_INVALIDATE = 19, /* user initiated */ + FUSE_FSYNC = 20, + FUSE_SETXATTR = 21, + FUSE_GETXATTR = 22, + FUSE_LISTXATTR = 23, + FUSE_REMOVEXATTR = 24, }; /* Conservative buffer size for the client */ @@ -188,6 +192,15 @@ struct fuse_fsync_in { int datasync; }; +struct fuse_setxattr_in { + unsigned int size; + unsigned int flags; +}; + +struct fuse_getlistxattr_in { + unsigned int size; +}; + struct fuse_in_header { int unique; enum fuse_opcode opcode; |