xref: /linux/fs/btrfs/xattr.h (revision a1ff5a7d78a036d6c2178ee5acd6ba4946243800)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * Copyright (C) 2007 Red Hat.  All rights reserved.
4  */
5 
6 #ifndef BTRFS_XATTR_H
7 #define BTRFS_XATTR_H
8 
9 struct dentry;
10 struct inode;
11 struct qstr;
12 struct xattr_handler;
13 struct btrfs_trans_handle;
14 
15 extern const struct xattr_handler * const btrfs_xattr_handlers[];
16 
17 int btrfs_getxattr(const struct inode *inode, const char *name,
18 		void *buffer, size_t size);
19 int btrfs_setxattr(struct btrfs_trans_handle *trans, struct inode *inode,
20 		   const char *name, const void *value, size_t size, int flags);
21 int btrfs_setxattr_trans(struct inode *inode, const char *name,
22 			 const void *value, size_t size, int flags);
23 ssize_t btrfs_listxattr(struct dentry *dentry, char *buffer, size_t size);
24 
25 int btrfs_xattr_security_init(struct btrfs_trans_handle *trans,
26 				     struct inode *inode, struct inode *dir,
27 				     const struct qstr *qstr);
28 
29 #endif
30