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