xref: /linux/fs/xfs/xfs_ioctl.h (revision f3a8b6645dc2e60d11f20c1c23afd964ff4e55ae)
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 file		*filp,
24 	unsigned int		cmd,
25 	xfs_flock64_t		*bf);
26 
27 int
28 xfs_ioc_swapext(
29 	xfs_swapext_t	*sxp);
30 
31 extern int
32 xfs_find_handle(
33 	unsigned int		cmd,
34 	xfs_fsop_handlereq_t	*hreq);
35 
36 extern int
37 xfs_open_by_handle(
38 	struct file		*parfilp,
39 	xfs_fsop_handlereq_t	*hreq);
40 
41 extern int
42 xfs_readlink_by_handle(
43 	struct file		*parfilp,
44 	xfs_fsop_handlereq_t	*hreq);
45 
46 extern int
47 xfs_attrmulti_attr_get(
48 	struct inode		*inode,
49 	unsigned char		*name,
50 	unsigned char		__user *ubuf,
51 	__uint32_t		*len,
52 	__uint32_t		flags);
53 
54 extern int
55 xfs_attrmulti_attr_set(
56 	struct inode		*inode,
57 	unsigned char		*name,
58 	const unsigned char	__user *ubuf,
59 	__uint32_t		len,
60 	__uint32_t		flags);
61 
62 extern int
63 xfs_attrmulti_attr_remove(
64 	struct inode		*inode,
65 	unsigned char		*name,
66 	__uint32_t		flags);
67 
68 extern struct dentry *
69 xfs_handle_to_dentry(
70 	struct file		*parfilp,
71 	void __user		*uhandle,
72 	u32			hlen);
73 
74 extern long
75 xfs_file_ioctl(
76 	struct file		*filp,
77 	unsigned int		cmd,
78 	unsigned long		p);
79 
80 extern long
81 xfs_file_compat_ioctl(
82 	struct file		*file,
83 	unsigned int		cmd,
84 	unsigned long		arg);
85 
86 extern int
87 xfs_set_dmattrs(
88 	struct xfs_inode	*ip,
89 	u_int			evmask,
90 	u_int16_t		state);
91 
92 #endif
93