123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- /*
- * linux/fs/hfsplus/xattr.h
- *
- * Vyacheslav Dubeyko <slava@dubeyko.com>
- *
- * Logic of processing extended attributes
- */
- #ifndef _LINUX_HFSPLUS_XATTR_H
- #define _LINUX_HFSPLUS_XATTR_H
- #include <linux/xattr.h>
- extern const struct xattr_handler hfsplus_xattr_osx_handler;
- extern const struct xattr_handler hfsplus_xattr_user_handler;
- extern const struct xattr_handler hfsplus_xattr_trusted_handler;
- /*extern const struct xattr_handler hfsplus_xattr_acl_access_handler;*/
- /*extern const struct xattr_handler hfsplus_xattr_acl_default_handler;*/
- extern const struct xattr_handler hfsplus_xattr_security_handler;
- extern const struct xattr_handler *hfsplus_xattr_handlers[];
- int __hfsplus_setxattr(struct inode *inode, const char *name,
- const void *value, size_t size, int flags);
- static inline int hfsplus_setxattr(struct dentry *dentry, const char *name,
- const void *value, size_t size, int flags)
- {
- return __hfsplus_setxattr(dentry->d_inode, name, value, size, flags);
- }
- ssize_t hfsplus_getxattr(struct dentry *dentry, const char *name,
- void *value, size_t size);
- ssize_t hfsplus_listxattr(struct dentry *dentry, char *buffer, size_t size);
- int hfsplus_removexattr(struct dentry *dentry, const char *name);
- int hfsplus_init_security(struct inode *inode, struct inode *dir,
- const struct qstr *qstr);
- static inline int hfsplus_init_acl(struct inode *inode, struct inode *dir)
- {
- /*TODO: implement*/
- return 0;
- }
- static inline int hfsplus_init_inode_security(struct inode *inode,
- struct inode *dir,
- const struct qstr *qstr)
- {
- int err;
- err = hfsplus_init_acl(inode, dir);
- if (!err)
- err = hfsplus_init_security(inode, dir, qstr);
- return err;
- }
- #endif
|