Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes
[linux-2.6] / fs / xfs / linux-2.6 / 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 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         xfs_mount_t             *mp,
38         xfs_fsop_handlereq_t    *hreq,
39         struct file             *parfilp,
40         struct inode            *parinode);
41
42 extern int
43 xfs_readlink_by_handle(
44         xfs_mount_t             *mp,
45         xfs_fsop_handlereq_t    *hreq,
46         struct inode            *parinode);
47
48 extern int
49 xfs_attrmulti_attr_get(
50         struct inode            *inode,
51         char                    *name,
52         char                    __user *ubuf,
53         __uint32_t              *len,
54         __uint32_t              flags);
55
56 extern int
57         xfs_attrmulti_attr_set(
58         struct inode            *inode,
59         char                    *name,
60         const char              __user *ubuf,
61         __uint32_t              len,
62         __uint32_t              flags);
63
64 extern int
65 xfs_attrmulti_attr_remove(
66         struct inode            *inode,
67         char                    *name,
68         __uint32_t              flags);
69
70 extern long
71 xfs_file_ioctl(
72         struct file             *filp,
73         unsigned int            cmd,
74         unsigned long           p);
75
76 extern long
77 xfs_file_compat_ioctl(
78         struct file             *file,
79         unsigned int            cmd,
80         unsigned long           arg);
81
82 #endif