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 
8 struct file;
9 struct dentry;
10 struct mnt_idmap;
11 struct fileattr;
12 struct io_uring_cmd;
13 struct btrfs_inode;
14 struct btrfs_fs_info;
15 struct btrfs_ioctl_balance_args;
16 
17 long btrfs_ioctl(struct file *file, unsigned int cmd, unsigned long arg);
18 long btrfs_compat_ioctl(struct file *file, unsigned int cmd, unsigned long arg);
19 int btrfs_fileattr_get(struct dentry *dentry, struct fileattr *fa);
20 int btrfs_fileattr_set(struct mnt_idmap *idmap,
21 		       struct dentry *dentry, struct fileattr *fa);
22 int btrfs_ioctl_get_supported_features(void __user *arg);
23 void btrfs_sync_inode_flags_to_i_flags(struct btrfs_inode *inode);
24 void btrfs_update_ioctl_balance_args(struct btrfs_fs_info *fs_info,
25 				     struct btrfs_ioctl_balance_args *bargs);
26 int btrfs_uring_cmd(struct io_uring_cmd *cmd, unsigned int issue_flags);
27 void btrfs_uring_read_extent_endio(void *ctx, int err);
28 
29 #endif
30