blob: e86c3ea137d2d779113b1d7c3efbd6432aedc25e [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(
sandeen@sandeen.netd5547f92008-11-25 21:20:08 -060023 struct file *filp,
sandeen@sandeen.netd5547f92008-11-25 21:20:08 -060024 unsigned int cmd,
25 xfs_flock64_t *bf);
26
Dave Chinnera133d952013-08-12 20:49:48 +100027int
28xfs_ioc_swapext(
29 xfs_swapext_t *sxp);
30
sandeen@sandeen.netd5547f92008-11-25 21:20:08 -060031extern int
32xfs_find_handle(
33 unsigned int cmd,
34 xfs_fsop_handlereq_t *hreq);
35
36extern int
37xfs_open_by_handle(
sandeen@sandeen.netd5547f92008-11-25 21:20:08 -060038 struct file *parfilp,
Christoph Hellwigab596ad2009-01-19 02:02:57 +010039 xfs_fsop_handlereq_t *hreq);
sandeen@sandeen.netd5547f92008-11-25 21:20:08 -060040
41extern int
42xfs_readlink_by_handle(
Christoph Hellwigab596ad2009-01-19 02:02:57 +010043 struct file *parfilp,
44 xfs_fsop_handlereq_t *hreq);
sandeen@sandeen.net28750972008-11-25 21:20:15 -060045
46extern int
47xfs_attrmulti_attr_get(
48 struct inode *inode,
Dave Chinnera9273ca2010-01-20 10:47:48 +110049 unsigned char *name,
50 unsigned char __user *ubuf,
Darrick J. Wongc8ce5402017-06-16 11:00:05 -070051 uint32_t *len,
52 uint32_t flags);
sandeen@sandeen.net28750972008-11-25 21:20:15 -060053
54extern int
Dave Chinnera9273ca2010-01-20 10:47:48 +110055xfs_attrmulti_attr_set(
sandeen@sandeen.net28750972008-11-25 21:20:15 -060056 struct inode *inode,
Dave Chinnera9273ca2010-01-20 10:47:48 +110057 unsigned char *name,
58 const unsigned char __user *ubuf,
Darrick J. Wongc8ce5402017-06-16 11:00:05 -070059 uint32_t len,
60 uint32_t flags);
sandeen@sandeen.net28750972008-11-25 21:20:15 -060061
62extern int
63xfs_attrmulti_attr_remove(
64 struct inode *inode,
Dave Chinnera9273ca2010-01-20 10:47:48 +110065 unsigned char *name,
Darrick J. Wongc8ce5402017-06-16 11:00:05 -070066 uint32_t flags);
sandeen@sandeen.net28750972008-11-25 21:20:15 -060067
Christoph Hellwigab596ad2009-01-19 02:02:57 +010068extern struct dentry *
69xfs_handle_to_dentry(
70 struct file *parfilp,
71 void __user *uhandle,
72 u32 hlen);
73
Christoph Hellwigddcd8562008-12-03 07:55:34 -050074extern long
Christoph Hellwig4d4be482008-12-09 04:47:33 -050075xfs_file_ioctl(
76 struct file *filp,
Christoph Hellwigddcd8562008-12-03 07:55:34 -050077 unsigned int cmd,
Christoph Hellwig4d4be482008-12-09 04:47:33 -050078 unsigned long p);
Christoph Hellwigddcd8562008-12-03 07:55:34 -050079
80extern long
Christoph Hellwig4d4be482008-12-09 04:47:33 -050081xfs_file_compat_ioctl(
Christoph Hellwigddcd8562008-12-03 07:55:34 -050082 struct file *file,
83 unsigned int cmd,
84 unsigned long arg);
85
Dave Chinnerc24b5df2013-08-12 20:49:45 +100086extern int
87xfs_set_dmattrs(
88 struct xfs_inode *ip,
89 u_int evmask,
90 u_int16_t state);
91
sandeen@sandeen.netd5547f92008-11-25 21:20:08 -060092#endif