xref: /linux/fs/xfs/xfs_ioctl.h (revision c5d3cdad688ed75fb311a3a671eb30ba7106d7d3)
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 
14 extern int
15 xfs_ioc_space(
16 	struct file		*filp,
17 	xfs_flock64_t		*bf);
18 
19 int
20 xfs_ioc_swapext(
21 	xfs_swapext_t	*sxp);
22 
23 extern int
24 xfs_find_handle(
25 	unsigned int		cmd,
26 	xfs_fsop_handlereq_t	*hreq);
27 
28 extern int
29 xfs_open_by_handle(
30 	struct file		*parfilp,
31 	xfs_fsop_handlereq_t	*hreq);
32 
33 extern int
34 xfs_readlink_by_handle(
35 	struct file		*parfilp,
36 	xfs_fsop_handlereq_t	*hreq);
37 
38 int xfs_ioc_attrmulti_one(struct file *parfilp, struct inode *inode,
39 		uint32_t opcode, void __user *uname, void __user *value,
40 		uint32_t *len, uint32_t flags);
41 int xfs_ioc_attr_list(struct xfs_inode *dp, void __user *ubuf, int bufsize,
42 	int flags, struct xfs_attrlist_cursor __user *ucursor);
43 
44 extern struct dentry *
45 xfs_handle_to_dentry(
46 	struct file		*parfilp,
47 	void __user		*uhandle,
48 	u32			hlen);
49 
50 extern long
51 xfs_file_ioctl(
52 	struct file		*filp,
53 	unsigned int		cmd,
54 	unsigned long		p);
55 
56 extern long
57 xfs_file_compat_ioctl(
58 	struct file		*file,
59 	unsigned int		cmd,
60 	unsigned long		arg);
61 
62 int xfs_fsbulkstat_one_fmt(struct xfs_ibulk *breq,
63 			   const struct xfs_bulkstat *bstat);
64 int xfs_fsinumbers_fmt(struct xfs_ibulk *breq, const struct xfs_inumbers *igrp);
65 
66 #endif
67