Merge tag 'mvebu-mbus_pci-fixes-3.15' of git://git.infradead.org/linux-mvebu into...
[platform/kernel/linux-arm64.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 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