xref: /openbmc/linux/fs/xfs/xfs_ioctl.h (revision 12eb4683)
1 /*
2  * Copyright (c) 2008 Silicon Graphics, Inc.
3  * All Rights Reserved.
4  *
5  * This program is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU General Public License as
7  * published by the Free Software Foundation.
8  *
9  * This program is distributed in the hope that it would be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write the Free Software Foundation,
16  * Inc.,  51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
17  */
18 #ifndef __XFS_IOCTL_H__
19 #define __XFS_IOCTL_H__
20 
21 extern int
22 xfs_ioc_space(
23 	struct xfs_inode	*ip,
24 	struct inode		*inode,
25 	struct file		*filp,
26 	int			ioflags,
27 	unsigned int		cmd,
28 	xfs_flock64_t		*bf);
29 
30 int
31 xfs_ioc_swapext(
32 	xfs_swapext_t	*sxp);
33 
34 extern int
35 xfs_find_handle(
36 	unsigned int		cmd,
37 	xfs_fsop_handlereq_t	*hreq);
38 
39 extern int
40 xfs_open_by_handle(
41 	struct file		*parfilp,
42 	xfs_fsop_handlereq_t	*hreq);
43 
44 extern int
45 xfs_readlink_by_handle(
46 	struct file		*parfilp,
47 	xfs_fsop_handlereq_t	*hreq);
48 
49 extern int
50 xfs_attrmulti_attr_get(
51 	struct inode		*inode,
52 	unsigned char		*name,
53 	unsigned char		__user *ubuf,
54 	__uint32_t		*len,
55 	__uint32_t		flags);
56 
57 extern int
58 xfs_attrmulti_attr_set(
59 	struct inode		*inode,
60 	unsigned char		*name,
61 	const unsigned char	__user *ubuf,
62 	__uint32_t		len,
63 	__uint32_t		flags);
64 
65 extern int
66 xfs_attrmulti_attr_remove(
67 	struct inode		*inode,
68 	unsigned char		*name,
69 	__uint32_t		flags);
70 
71 extern struct dentry *
72 xfs_handle_to_dentry(
73 	struct file		*parfilp,
74 	void __user		*uhandle,
75 	u32			hlen);
76 
77 extern long
78 xfs_file_ioctl(
79 	struct file		*filp,
80 	unsigned int		cmd,
81 	unsigned long		p);
82 
83 extern long
84 xfs_file_compat_ioctl(
85 	struct file		*file,
86 	unsigned int		cmd,
87 	unsigned long		arg);
88 
89 extern int
90 xfs_set_dmattrs(
91 	struct xfs_inode	*ip,
92 	u_int			evmask,
93 	u_int16_t		state);
94 
95 #endif
96