blob: 4b17f67c888a057feabfba771e058e51fe791be3 [file] [log] [blame]
Dave Chinner0b61f8a2018-06-05 19:42:14 -07001// SPDX-License-Identifier: GPL-2.0
sandeen@sandeen.netd5547f92008-11-25 21:20:08 -06002/*
3 * Copyright (c) 2008 Silicon Graphics, Inc.
4 * All Rights Reserved.
sandeen@sandeen.netd5547f92008-11-25 21:20:08 -06005 */
6#ifndef __XFS_IOCTL_H__
7#define __XFS_IOCTL_H__
8
9extern int
10xfs_ioc_space(
sandeen@sandeen.netd5547f92008-11-25 21:20:08 -060011 struct file *filp,
sandeen@sandeen.netd5547f92008-11-25 21:20:08 -060012 unsigned int cmd,
13 xfs_flock64_t *bf);
14
Dave Chinnera133d952013-08-12 20:49:48 +100015int
16xfs_ioc_swapext(
17 xfs_swapext_t *sxp);
18
sandeen@sandeen.netd5547f92008-11-25 21:20:08 -060019extern int
20xfs_find_handle(
21 unsigned int cmd,
22 xfs_fsop_handlereq_t *hreq);
23
24extern int
25xfs_open_by_handle(
sandeen@sandeen.netd5547f92008-11-25 21:20:08 -060026 struct file *parfilp,
Christoph Hellwigab596ad2009-01-19 02:02:57 +010027 xfs_fsop_handlereq_t *hreq);
sandeen@sandeen.netd5547f92008-11-25 21:20:08 -060028
29extern int
30xfs_readlink_by_handle(
Christoph Hellwigab596ad2009-01-19 02:02:57 +010031 struct file *parfilp,
32 xfs_fsop_handlereq_t *hreq);
sandeen@sandeen.net28750972008-11-25 21:20:15 -060033
34extern int
35xfs_attrmulti_attr_get(
36 struct inode *inode,
Dave Chinnera9273ca2010-01-20 10:47:48 +110037 unsigned char *name,
38 unsigned char __user *ubuf,
Darrick J. Wongc8ce5402017-06-16 11:00:05 -070039 uint32_t *len,
40 uint32_t flags);
sandeen@sandeen.net28750972008-11-25 21:20:15 -060041
42extern int
Dave Chinnera9273ca2010-01-20 10:47:48 +110043xfs_attrmulti_attr_set(
sandeen@sandeen.net28750972008-11-25 21:20:15 -060044 struct inode *inode,
Dave Chinnera9273ca2010-01-20 10:47:48 +110045 unsigned char *name,
46 const unsigned char __user *ubuf,
Darrick J. Wongc8ce5402017-06-16 11:00:05 -070047 uint32_t len,
48 uint32_t flags);
sandeen@sandeen.net28750972008-11-25 21:20:15 -060049
50extern int
51xfs_attrmulti_attr_remove(
52 struct inode *inode,
Dave Chinnera9273ca2010-01-20 10:47:48 +110053 unsigned char *name,
Darrick J. Wongc8ce5402017-06-16 11:00:05 -070054 uint32_t flags);
sandeen@sandeen.net28750972008-11-25 21:20:15 -060055
Christoph Hellwigab596ad2009-01-19 02:02:57 +010056extern struct dentry *
57xfs_handle_to_dentry(
58 struct file *parfilp,
59 void __user *uhandle,
60 u32 hlen);
61
Christoph Hellwigddcd8562008-12-03 07:55:34 -050062extern long
Christoph Hellwig4d4be482008-12-09 04:47:33 -050063xfs_file_ioctl(
64 struct file *filp,
Christoph Hellwigddcd8562008-12-03 07:55:34 -050065 unsigned int cmd,
Christoph Hellwig4d4be482008-12-09 04:47:33 -050066 unsigned long p);
Christoph Hellwigddcd8562008-12-03 07:55:34 -050067
68extern long
Christoph Hellwig4d4be482008-12-09 04:47:33 -050069xfs_file_compat_ioctl(
Christoph Hellwigddcd8562008-12-03 07:55:34 -050070 struct file *file,
71 unsigned int cmd,
72 unsigned long arg);
73
Dave Chinnerc24b5df2013-08-12 20:49:45 +100074extern int
75xfs_set_dmattrs(
76 struct xfs_inode *ip,
Darrick J. Wong65a79352017-11-09 09:34:28 -080077 uint evmask,
78 uint16_t state);
Dave Chinnerc24b5df2013-08-12 20:49:45 +100079
sandeen@sandeen.netd5547f92008-11-25 21:20:08 -060080#endif