18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
28c2ecf20Sopenharmony_ci/*
38c2ecf20Sopenharmony_ci * Copyright (C) 2014 Filipe David Borba Manana <fdmanana@gmail.com>
48c2ecf20Sopenharmony_ci */
58c2ecf20Sopenharmony_ci
68c2ecf20Sopenharmony_ci#ifndef BTRFS_PROPS_H
78c2ecf20Sopenharmony_ci#define BTRFS_PROPS_H
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_ci#include "ctree.h"
108c2ecf20Sopenharmony_ci
118c2ecf20Sopenharmony_civoid __init btrfs_props_init(void);
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_ciint btrfs_set_prop(struct btrfs_trans_handle *trans, struct inode *inode,
148c2ecf20Sopenharmony_ci		   const char *name, const char *value, size_t value_len,
158c2ecf20Sopenharmony_ci		   int flags);
168c2ecf20Sopenharmony_ciint btrfs_validate_prop(const char *name, const char *value, size_t value_len);
178c2ecf20Sopenharmony_ci
188c2ecf20Sopenharmony_ciint btrfs_load_inode_props(struct inode *inode, struct btrfs_path *path);
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_ciint btrfs_inode_inherit_props(struct btrfs_trans_handle *trans,
218c2ecf20Sopenharmony_ci			      struct inode *inode,
228c2ecf20Sopenharmony_ci			      struct inode *dir);
238c2ecf20Sopenharmony_ci
248c2ecf20Sopenharmony_ciint btrfs_subvol_inherit_props(struct btrfs_trans_handle *trans,
258c2ecf20Sopenharmony_ci			       struct btrfs_root *root,
268c2ecf20Sopenharmony_ci			       struct btrfs_root *parent_root);
278c2ecf20Sopenharmony_ci
288c2ecf20Sopenharmony_ci#endif
29