xref: /linux/fs/xfs/xfs_ioctl.h (revision 58b3bafff8257c6946df5d6aeb215b8ac839ed2a)
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 extern int
10 xfs_ioc_space(
11 	struct file		*filp,
12 	xfs_flock64_t		*bf);
13 
14 int
15 xfs_ioc_swapext(
16 	xfs_swapext_t	*sxp);
17 
18 extern int
19 xfs_find_handle(
20 	unsigned int		cmd,
21 	xfs_fsop_handlereq_t	*hreq);
22 
23 extern int
24 xfs_open_by_handle(
25 	struct file		*parfilp,
26 	xfs_fsop_handlereq_t	*hreq);
27 
28 extern int
29 xfs_readlink_by_handle(
30 	struct file		*parfilp,
31 	xfs_fsop_handlereq_t	*hreq);
32 
33 extern int
34 xfs_attrmulti_attr_get(
35 	struct inode		*inode,
36 	unsigned char		*name,
37 	unsigned char		__user *ubuf,
38 	uint32_t		*len,
39 	uint32_t		flags);
40 
41 extern int
42 xfs_attrmulti_attr_set(
43 	struct inode		*inode,
44 	unsigned char		*name,
45 	const unsigned char	__user *ubuf,
46 	uint32_t		len,
47 	uint32_t		flags);
48 
49 extern int
50 xfs_attrmulti_attr_remove(
51 	struct inode		*inode,
52 	unsigned char		*name,
53 	uint32_t		flags);
54 
55 extern struct dentry *
56 xfs_handle_to_dentry(
57 	struct file		*parfilp,
58 	void __user		*uhandle,
59 	u32			hlen);
60 
61 extern long
62 xfs_file_ioctl(
63 	struct file		*filp,
64 	unsigned int		cmd,
65 	unsigned long		p);
66 
67 extern long
68 xfs_file_compat_ioctl(
69 	struct file		*file,
70 	unsigned int		cmd,
71 	unsigned long		arg);
72 
73 struct xfs_ibulk;
74 struct xfs_bstat;
75 struct xfs_inogrp;
76 
77 int xfs_fsbulkstat_one_fmt(struct xfs_ibulk *breq,
78 			   const struct xfs_bulkstat *bstat);
79 int xfs_fsinumbers_fmt(struct xfs_ibulk *breq, const struct xfs_inumbers *igrp);
80 
81 #endif
82