GNU Linux-libre 6.9-gnu
[releases.git] / fs / btrfs / xattr.h
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(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