1 /* 2 * linux/fs/hfsplus/xattr.h 3 * 4 * Vyacheslav Dubeyko <slava@dubeyko.com> 5 * 6 * Logic of processing extended attributes 7 */ 8 9 #ifndef _LINUX_HFSPLUS_XATTR_H 10 #define _LINUX_HFSPLUS_XATTR_H 11 12 #include <linux/xattr.h> 13 14 extern const struct xattr_handler hfsplus_xattr_osx_handler; 15 extern const struct xattr_handler hfsplus_xattr_user_handler; 16 extern const struct xattr_handler hfsplus_xattr_trusted_handler; 17 extern const struct xattr_handler hfsplus_xattr_security_handler; 18 19 extern const struct xattr_handler *hfsplus_xattr_handlers[]; 20 21 int __hfsplus_setxattr(struct inode *inode, const char *name, 22 const void *value, size_t size, int flags); 23 24 static inline int hfsplus_setxattr(struct dentry *dentry, const char *name, 25 const void *value, size_t size, int flags) 26 { 27 return __hfsplus_setxattr(dentry->d_inode, name, value, size, flags); 28 } 29 30 ssize_t __hfsplus_getxattr(struct inode *inode, const char *name, 31 void *value, size_t size); 32 33 static inline ssize_t hfsplus_getxattr(struct dentry *dentry, 34 const char *name, 35 void *value, 36 size_t size) 37 { 38 return __hfsplus_getxattr(dentry->d_inode, name, value, size); 39 } 40 41 ssize_t hfsplus_listxattr(struct dentry *dentry, char *buffer, size_t size); 42 43 int hfsplus_init_security(struct inode *inode, struct inode *dir, 44 const struct qstr *qstr); 45 46 int hfsplus_init_inode_security(struct inode *inode, struct inode *dir, 47 const struct qstr *qstr); 48 49 #endif 50