Loading...
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/xattr.h>
10
11extern const struct xattr_handler * const btrfs_xattr_handlers[];
12
13int btrfs_getxattr(struct inode *inode, const char *name,
14 void *buffer, size_t size);
15int btrfs_setxattr(struct btrfs_trans_handle *trans, struct inode *inode,
16 const char *name, const void *value, size_t size, int flags);
17int btrfs_setxattr_trans(struct inode *inode, const char *name,
18 const void *value, size_t size, int flags);
19ssize_t btrfs_listxattr(struct dentry *dentry, char *buffer, size_t size);
20
21int btrfs_xattr_security_init(struct btrfs_trans_handle *trans,
22 struct inode *inode, struct inode *dir,
23 const struct qstr *qstr);
24
25#endif
1/*
2 * Copyright (C) 2007 Red Hat. All rights reserved.
3 *
4 * This program is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU General Public
6 * License v2 as published by the Free Software Foundation.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 * General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public
14 * License along with this program; if not, write to the
15 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
16 * Boston, MA 021110-1307, USA.
17 */
18
19#ifndef __XATTR__
20#define __XATTR__
21
22#include <linux/xattr.h>
23
24extern const struct xattr_handler btrfs_xattr_acl_access_handler;
25extern const struct xattr_handler btrfs_xattr_acl_default_handler;
26extern const struct xattr_handler *btrfs_xattr_handlers[];
27
28extern ssize_t __btrfs_getxattr(struct inode *inode, const char *name,
29 void *buffer, size_t size);
30extern int __btrfs_setxattr(struct btrfs_trans_handle *trans,
31 struct inode *inode, const char *name,
32 const void *value, size_t size, int flags);
33extern ssize_t btrfs_getxattr(struct dentry *dentry, const char *name,
34 void *buffer, size_t size);
35extern int btrfs_setxattr(struct dentry *dentry, const char *name,
36 const void *value, size_t size, int flags);
37extern int btrfs_removexattr(struct dentry *dentry, const char *name);
38
39extern int btrfs_xattr_security_init(struct btrfs_trans_handle *trans,
40 struct inode *inode, struct inode *dir,
41 const struct qstr *qstr);
42
43#endif /* __XATTR__ */