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
9struct dentry;
10struct inode;
11struct qstr;
12struct xattr_handler;
13struct btrfs_trans_handle;
14
15extern const struct xattr_handler * const btrfs_xattr_handlers[];
16
17int btrfs_getxattr(struct inode *inode, const char *name,
18		void *buffer, size_t size);
19int btrfs_setxattr(struct btrfs_trans_handle *trans, struct inode *inode,
20		   const char *name, const void *value, size_t size, int flags);
21int btrfs_setxattr_trans(struct inode *inode, const char *name,
22			 const void *value, size_t size, int flags);
23ssize_t btrfs_listxattr(struct dentry *dentry, char *buffer, size_t size);
24
25int 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