Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
[sfrench/cifs-2.6.git] / fs / xfs / xfs_ioctl.h
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