GNU Linux-libre 5.19-rc6-gnu
[releases.git] / fs / xfs / xfs_ioctl.h
1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * Copyright (c) 2008 Silicon Graphics, Inc.
4  * All Rights Reserved.
5  */
6 #ifndef __XFS_IOCTL_H__
7 #define __XFS_IOCTL_H__
8
9 struct xfs_bstat;
10 struct xfs_ibulk;
11 struct xfs_inogrp;
12
13 int
14 xfs_ioc_swapext(
15         xfs_swapext_t   *sxp);
16
17 extern int
18 xfs_find_handle(
19         unsigned int            cmd,
20         xfs_fsop_handlereq_t    *hreq);
21
22 extern int
23 xfs_open_by_handle(
24         struct file             *parfilp,
25         xfs_fsop_handlereq_t    *hreq);
26
27 extern int
28 xfs_readlink_by_handle(
29         struct file             *parfilp,
30         xfs_fsop_handlereq_t    *hreq);
31
32 int xfs_ioc_attrmulti_one(struct file *parfilp, struct inode *inode,
33                 uint32_t opcode, void __user *uname, void __user *value,
34                 uint32_t *len, uint32_t flags);
35 int xfs_ioc_attr_list(struct xfs_inode *dp, void __user *ubuf,
36                       size_t bufsize, int flags,
37                       struct xfs_attrlist_cursor __user *ucursor);
38
39 extern struct dentry *
40 xfs_handle_to_dentry(
41         struct file             *parfilp,
42         void __user             *uhandle,
43         u32                     hlen);
44
45 extern int
46 xfs_fileattr_get(
47         struct dentry           *dentry,
48         struct fileattr         *fa);
49
50 extern int
51 xfs_fileattr_set(
52         struct user_namespace   *mnt_userns,
53         struct dentry           *dentry,
54         struct fileattr         *fa);
55
56 extern long
57 xfs_file_ioctl(
58         struct file             *filp,
59         unsigned int            cmd,
60         unsigned long           p);
61
62 extern long
63 xfs_file_compat_ioctl(
64         struct file             *file,
65         unsigned int            cmd,
66         unsigned long           arg);
67
68 int xfs_fsbulkstat_one_fmt(struct xfs_ibulk *breq,
69                            const struct xfs_bulkstat *bstat);
70 int xfs_fsinumbers_fmt(struct xfs_ibulk *breq, const struct xfs_inumbers *igrp);
71
72 #endif