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 #include <linux/types.h> 10 11 struct dentry; 12 struct inode; 13 struct qstr; 14 struct xattr_handler; 15 struct btrfs_trans_handle; 16 17 extern const struct xattr_handler * const btrfs_xattr_handlers[]; 18 19 int btrfs_getxattr(const struct inode *inode, const char *name, 20 void *buffer, size_t size); 21 int btrfs_setxattr(struct btrfs_trans_handle *trans, struct inode *inode, 22 const char *name, const void *value, size_t size, int flags); 23 int btrfs_setxattr_trans(struct inode *inode, const char *name, 24 const void *value, size_t size, int flags); 25 ssize_t btrfs_listxattr(struct dentry *dentry, char *buffer, size_t size); 26 27 int btrfs_xattr_security_init(struct btrfs_trans_handle *trans, 28 struct inode *inode, struct inode *dir, 29 const struct qstr *qstr); 30 31 #endif 32