xref: /OK3568_Linux_fs/kernel/fs/hfsplus/xattr.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */
2*4882a593Smuzhiyun /*
3*4882a593Smuzhiyun  * linux/fs/hfsplus/xattr.h
4*4882a593Smuzhiyun  *
5*4882a593Smuzhiyun  * Vyacheslav Dubeyko <slava@dubeyko.com>
6*4882a593Smuzhiyun  *
7*4882a593Smuzhiyun  * Logic of processing extended attributes
8*4882a593Smuzhiyun  */
9*4882a593Smuzhiyun 
10*4882a593Smuzhiyun #ifndef _LINUX_HFSPLUS_XATTR_H
11*4882a593Smuzhiyun #define _LINUX_HFSPLUS_XATTR_H
12*4882a593Smuzhiyun 
13*4882a593Smuzhiyun #include <linux/xattr.h>
14*4882a593Smuzhiyun 
15*4882a593Smuzhiyun extern const struct xattr_handler hfsplus_xattr_osx_handler;
16*4882a593Smuzhiyun extern const struct xattr_handler hfsplus_xattr_user_handler;
17*4882a593Smuzhiyun extern const struct xattr_handler hfsplus_xattr_trusted_handler;
18*4882a593Smuzhiyun extern const struct xattr_handler hfsplus_xattr_security_handler;
19*4882a593Smuzhiyun 
20*4882a593Smuzhiyun extern const struct xattr_handler *hfsplus_xattr_handlers[];
21*4882a593Smuzhiyun 
22*4882a593Smuzhiyun int __hfsplus_setxattr(struct inode *inode, const char *name,
23*4882a593Smuzhiyun 			const void *value, size_t size, int flags);
24*4882a593Smuzhiyun 
25*4882a593Smuzhiyun int hfsplus_setxattr(struct inode *inode, const char *name,
26*4882a593Smuzhiyun 				   const void *value, size_t size, int flags,
27*4882a593Smuzhiyun 				   const char *prefix, size_t prefixlen);
28*4882a593Smuzhiyun 
29*4882a593Smuzhiyun ssize_t __hfsplus_getxattr(struct inode *inode, const char *name,
30*4882a593Smuzhiyun 			   void *value, size_t size);
31*4882a593Smuzhiyun 
32*4882a593Smuzhiyun ssize_t hfsplus_getxattr(struct inode *inode, const char *name,
33*4882a593Smuzhiyun 			 void *value, size_t size,
34*4882a593Smuzhiyun 			 const char *prefix, size_t prefixlen);
35*4882a593Smuzhiyun 
36*4882a593Smuzhiyun ssize_t hfsplus_listxattr(struct dentry *dentry, char *buffer, size_t size);
37*4882a593Smuzhiyun 
38*4882a593Smuzhiyun int hfsplus_init_security(struct inode *inode, struct inode *dir,
39*4882a593Smuzhiyun 				const struct qstr *qstr);
40*4882a593Smuzhiyun 
41*4882a593Smuzhiyun #endif
42