blob: d56173b34a2a55662575f79a4ba5426662b647c9 [file] [log] [blame]
sandeen@sandeen.netd5547f92008-11-25 21:20:08 -06001/*
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
21extern int
22xfs_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
30extern int
31xfs_find_handle(
32 unsigned int cmd,
33 xfs_fsop_handlereq_t *hreq);
34
35extern int
36xfs_open_by_handle(
sandeen@sandeen.netd5547f92008-11-25 21:20:08 -060037 struct file *parfilp,
Christoph Hellwigab596ad2009-01-19 02:02:57 +010038 xfs_fsop_handlereq_t *hreq);
sandeen@sandeen.netd5547f92008-11-25 21:20:08 -060039
40extern int
41xfs_readlink_by_handle(
Christoph Hellwigab596ad2009-01-19 02:02:57 +010042 struct file *parfilp,
43 xfs_fsop_handlereq_t *hreq);
sandeen@sandeen.net28750972008-11-25 21:20:15 -060044
45extern int
46xfs_attrmulti_attr_get(
47 struct inode *inode,
Dave Chinnera9273ca2010-01-20 10:47:48 +110048 unsigned char *name,
49 unsigned char __user *ubuf,
sandeen@sandeen.net28750972008-11-25 21:20:15 -060050 __uint32_t *len,
51 __uint32_t flags);
52
53extern int
Dave Chinnera9273ca2010-01-20 10:47:48 +110054xfs_attrmulti_attr_set(
sandeen@sandeen.net28750972008-11-25 21:20:15 -060055 struct inode *inode,
Dave Chinnera9273ca2010-01-20 10:47:48 +110056 unsigned char *name,
57 const unsigned char __user *ubuf,
sandeen@sandeen.net28750972008-11-25 21:20:15 -060058 __uint32_t len,
59 __uint32_t flags);
60
61extern int
62xfs_attrmulti_attr_remove(
63 struct inode *inode,
Dave Chinnera9273ca2010-01-20 10:47:48 +110064 unsigned char *name,
sandeen@sandeen.net28750972008-11-25 21:20:15 -060065 __uint32_t flags);
66
Christoph Hellwigab596ad2009-01-19 02:02:57 +010067extern struct dentry *
68xfs_handle_to_dentry(
69 struct file *parfilp,
70 void __user *uhandle,
71 u32 hlen);
72
Christoph Hellwigddcd8562008-12-03 07:55:34 -050073extern long
Christoph Hellwig4d4be482008-12-09 04:47:33 -050074xfs_file_ioctl(
75 struct file *filp,
Christoph Hellwigddcd8562008-12-03 07:55:34 -050076 unsigned int cmd,
Christoph Hellwig4d4be482008-12-09 04:47:33 -050077 unsigned long p);
Christoph Hellwigddcd8562008-12-03 07:55:34 -050078
79extern long
Christoph Hellwig4d4be482008-12-09 04:47:33 -050080xfs_file_compat_ioctl(
Christoph Hellwigddcd8562008-12-03 07:55:34 -050081 struct file *file,
82 unsigned int cmd,
83 unsigned long arg);
84
sandeen@sandeen.netd5547f92008-11-25 21:20:08 -060085#endif