1/* SPDX-License-Identifier: GPL-2.0 */
2/*
3 * Copyright (C) 2014 Filipe David Borba Manana <fdmanana@gmail.com>
4 */
5
6#ifndef BTRFS_PROPS_H
7#define BTRFS_PROPS_H
8
9#include <linux/compiler_types.h>
10
11struct inode;
12struct btrfs_inode;
13struct btrfs_path;
14struct btrfs_trans_handle;
15
16int __init btrfs_props_init(void);
17
18int btrfs_set_prop(struct btrfs_trans_handle *trans, struct inode *inode,
19		   const char *name, const char *value, size_t value_len,
20		   int flags);
21int btrfs_validate_prop(const struct btrfs_inode *inode, const char *name,
22			const char *value, size_t value_len);
23bool btrfs_ignore_prop(const struct btrfs_inode *inode, const char *name);
24
25int btrfs_load_inode_props(struct inode *inode, struct btrfs_path *path);
26
27int btrfs_inode_inherit_props(struct btrfs_trans_handle *trans,
28			      struct inode *inode,
29			      struct inode *dir);
30
31#endif
32