1/* SPDX-License-Identifier: GPL-2.0 */
2
3#ifndef BTRFS_IOCTL_H
4#define BTRFS_IOCTL_H
5
6#include <linux/types.h>
7
8struct file;
9struct dentry;
10struct mnt_idmap;
11struct fileattr;
12struct btrfs_fs_info;
13struct btrfs_ioctl_balance_args;
14
15long btrfs_ioctl(struct file *file, unsigned int cmd, unsigned long arg);
16long btrfs_compat_ioctl(struct file *file, unsigned int cmd, unsigned long arg);
17int btrfs_fileattr_get(struct dentry *dentry, struct fileattr *fa);
18int btrfs_fileattr_set(struct mnt_idmap *idmap,
19		       struct dentry *dentry, struct fileattr *fa);
20int btrfs_ioctl_get_supported_features(void __user *arg);
21void btrfs_sync_inode_flags_to_i_flags(struct inode *inode);
22int __pure btrfs_is_empty_uuid(u8 *uuid);
23void btrfs_update_ioctl_balance_args(struct btrfs_fs_info *fs_info,
24				     struct btrfs_ioctl_balance_args *bargs);
25
26#endif
27