diff options
Diffstat (limited to 'fs/hfsplus/xattr.h')
-rw-r--r-- | fs/hfsplus/xattr.h | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/fs/hfsplus/xattr.h b/fs/hfsplus/xattr.h new file mode 100644 index 000000000..d14e362b3 --- /dev/null +++ b/fs/hfsplus/xattr.h @@ -0,0 +1,41 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * 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_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); + +int hfsplus_setxattr(struct inode *inode, const char *name, + const void *value, size_t size, int flags, + const char *prefix, size_t prefixlen); + +ssize_t __hfsplus_getxattr(struct inode *inode, const char *name, + void *value, size_t size); + +ssize_t hfsplus_getxattr(struct inode *inode, const char *name, + void *value, size_t size, + const char *prefix, size_t prefixlen); + +ssize_t hfsplus_listxattr(struct dentry *dentry, char *buffer, size_t size); + +int hfsplus_init_security(struct inode *inode, struct inode *dir, + const struct qstr *qstr); + +#endif |