blob: 77c02c7900b6eb8d78276abdd7d0b6ec03c12e29 [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
Dave Chinnera133d952013-08-12 20:49:48 +100030int
31xfs_ioc_swapext(
32 xfs_swapext_t *sxp);
33
sandeen@sandeen.netd5547f92008-11-25 21:20:08 -060034extern int
35xfs_find_handle(
36 unsigned int cmd,
37 xfs_fsop_handlereq_t *hreq);
38
39extern int
40xfs_open_by_handle(
sandeen@sandeen.netd5547f92008-11-25 21:20:08 -060041 struct file *parfilp,
Christoph Hellwigab596ad2009-01-19 02:02:57 +010042 xfs_fsop_handlereq_t *hreq);
sandeen@sandeen.netd5547f92008-11-25 21:20:08 -060043
44extern int
45xfs_readlink_by_handle(
Christoph Hellwigab596ad2009-01-19 02:02:57 +010046 struct file *parfilp,
47 xfs_fsop_handlereq_t *hreq);
sandeen@sandeen.net28750972008-11-25 21:20:15 -060048
49extern int
50xfs_attrmulti_attr_get(
51 struct inode *inode,
Dave Chinnera9273ca2010-01-20 10:47:48 +110052 unsigned char *name,
53 unsigned char __user *ubuf,
sandeen@sandeen.net28750972008-11-25 21:20:15 -060054 __uint32_t *len,
55 __uint32_t flags);
56
57extern int
Dave Chinnera9273ca2010-01-20 10:47:48 +110058xfs_attrmulti_attr_set(
sandeen@sandeen.net28750972008-11-25 21:20:15 -060059 struct inode *inode,
Dave Chinnera9273ca2010-01-20 10:47:48 +110060 unsigned char *name,
61 const unsigned char __user *ubuf,
sandeen@sandeen.net28750972008-11-25 21:20:15 -060062 __uint32_t len,
63 __uint32_t flags);
64
65extern int
66xfs_attrmulti_attr_remove(
67 struct inode *inode,
Dave Chinnera9273ca2010-01-20 10:47:48 +110068 unsigned char *name,
sandeen@sandeen.net28750972008-11-25 21:20:15 -060069 __uint32_t flags);
70
Christoph Hellwigab596ad2009-01-19 02:02:57 +010071extern struct dentry *
72xfs_handle_to_dentry(
73 struct file *parfilp,
74 void __user *uhandle,
75 u32 hlen);
76
Christoph Hellwigddcd8562008-12-03 07:55:34 -050077extern long
Christoph Hellwig4d4be482008-12-09 04:47:33 -050078xfs_file_ioctl(
79 struct file *filp,
Christoph Hellwigddcd8562008-12-03 07:55:34 -050080 unsigned int cmd,
Christoph Hellwig4d4be482008-12-09 04:47:33 -050081 unsigned long p);
Christoph Hellwigddcd8562008-12-03 07:55:34 -050082
83extern long
Christoph Hellwig4d4be482008-12-09 04:47:33 -050084xfs_file_compat_ioctl(
Christoph Hellwigddcd8562008-12-03 07:55:34 -050085 struct file *file,
86 unsigned int cmd,
87 unsigned long arg);
88
Dave Chinnerc24b5df2013-08-12 20:49:45 +100089extern int
90xfs_set_dmattrs(
91 struct xfs_inode *ip,
92 u_int evmask,
93 u_int16_t state);
94
sandeen@sandeen.netd5547f92008-11-25 21:20:08 -060095#endif