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