b24413180f560 (Greg Kroah-Hartman 2017-11-01 15:07:57 +0100 1) /* SPDX-License-Identifier: GPL-2.0 */
127e5f5ae51ef (Vyacheslav Dubeyko 2013-02-27 17:03:03 -0800 2) /*
127e5f5ae51ef (Vyacheslav Dubeyko 2013-02-27 17:03:03 -0800 3) * linux/fs/hfsplus/xattr.h
127e5f5ae51ef (Vyacheslav Dubeyko 2013-02-27 17:03:03 -0800 4) *
127e5f5ae51ef (Vyacheslav Dubeyko 2013-02-27 17:03:03 -0800 5) * Vyacheslav Dubeyko <slava@dubeyko.com>
127e5f5ae51ef (Vyacheslav Dubeyko 2013-02-27 17:03:03 -0800 6) *
127e5f5ae51ef (Vyacheslav Dubeyko 2013-02-27 17:03:03 -0800 7) * Logic of processing extended attributes
127e5f5ae51ef (Vyacheslav Dubeyko 2013-02-27 17:03:03 -0800 8) */
127e5f5ae51ef (Vyacheslav Dubeyko 2013-02-27 17:03:03 -0800 9)
127e5f5ae51ef (Vyacheslav Dubeyko 2013-02-27 17:03:03 -0800 10) #ifndef _LINUX_HFSPLUS_XATTR_H
127e5f5ae51ef (Vyacheslav Dubeyko 2013-02-27 17:03:03 -0800 11) #define _LINUX_HFSPLUS_XATTR_H
127e5f5ae51ef (Vyacheslav Dubeyko 2013-02-27 17:03:03 -0800 12)
127e5f5ae51ef (Vyacheslav Dubeyko 2013-02-27 17:03:03 -0800 13) #include <linux/xattr.h>
127e5f5ae51ef (Vyacheslav Dubeyko 2013-02-27 17:03:03 -0800 14)
127e5f5ae51ef (Vyacheslav Dubeyko 2013-02-27 17:03:03 -0800 15) extern const struct xattr_handler hfsplus_xattr_osx_handler;
127e5f5ae51ef (Vyacheslav Dubeyko 2013-02-27 17:03:03 -0800 16) extern const struct xattr_handler hfsplus_xattr_user_handler;
127e5f5ae51ef (Vyacheslav Dubeyko 2013-02-27 17:03:03 -0800 17) extern const struct xattr_handler hfsplus_xattr_trusted_handler;
127e5f5ae51ef (Vyacheslav Dubeyko 2013-02-27 17:03:03 -0800 18) extern const struct xattr_handler hfsplus_xattr_security_handler;
127e5f5ae51ef (Vyacheslav Dubeyko 2013-02-27 17:03:03 -0800 19)
127e5f5ae51ef (Vyacheslav Dubeyko 2013-02-27 17:03:03 -0800 20) extern const struct xattr_handler *hfsplus_xattr_handlers[];
127e5f5ae51ef (Vyacheslav Dubeyko 2013-02-27 17:03:03 -0800 21)
127e5f5ae51ef (Vyacheslav Dubeyko 2013-02-27 17:03:03 -0800 22) int __hfsplus_setxattr(struct inode *inode, const char *name,
127e5f5ae51ef (Vyacheslav Dubeyko 2013-02-27 17:03:03 -0800 23) const void *value, size_t size, int flags);
127e5f5ae51ef (Vyacheslav Dubeyko 2013-02-27 17:03:03 -0800 24)
5930122683dff (Al Viro 2016-05-27 10:19:30 -0400 25) int hfsplus_setxattr(struct inode *inode, const char *name,
5e61473ea9f1e (Fabian Frederick 2015-04-16 12:47:01 -0700 26) const void *value, size_t size, int flags,
5e61473ea9f1e (Fabian Frederick 2015-04-16 12:47:01 -0700 27) const char *prefix, size_t prefixlen);
127e5f5ae51ef (Vyacheslav Dubeyko 2013-02-27 17:03:03 -0800 28)
b4c1107cc9626 (Vyacheslav Dubeyko 2013-09-11 14:24:30 -0700 29) ssize_t __hfsplus_getxattr(struct inode *inode, const char *name,
a3cef4cd6886c (Fabian Frederick 2015-04-16 12:46:58 -0700 30) void *value, size_t size);
127e5f5ae51ef (Vyacheslav Dubeyko 2013-02-27 17:03:03 -0800 31)
b296821a7c42f (Al Viro 2016-04-10 20:48:24 -0400 32) ssize_t hfsplus_getxattr(struct inode *inode, const char *name,
a3cef4cd6886c (Fabian Frederick 2015-04-16 12:46:58 -0700 33) void *value, size_t size,
a3cef4cd6886c (Fabian Frederick 2015-04-16 12:46:58 -0700 34) const char *prefix, size_t prefixlen);
b4c1107cc9626 (Vyacheslav Dubeyko 2013-09-11 14:24:30 -0700 35)
127e5f5ae51ef (Vyacheslav Dubeyko 2013-02-27 17:03:03 -0800 36) ssize_t hfsplus_listxattr(struct dentry *dentry, char *buffer, size_t size);
127e5f5ae51ef (Vyacheslav Dubeyko 2013-02-27 17:03:03 -0800 37)
127e5f5ae51ef (Vyacheslav Dubeyko 2013-02-27 17:03:03 -0800 38) int hfsplus_init_security(struct inode *inode, struct inode *dir,
127e5f5ae51ef (Vyacheslav Dubeyko 2013-02-27 17:03:03 -0800 39) const struct qstr *qstr);
127e5f5ae51ef (Vyacheslav Dubeyko 2013-02-27 17:03:03 -0800 40)
127e5f5ae51ef (Vyacheslav Dubeyko 2013-02-27 17:03:03 -0800 41) #endif