xref: /linux/fs/xfs/xfs_ioctl.h (revision 088e88be5a380cc4e81963a9a02815da465d144f)
1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * Copyright (c) 2008 Silicon Graphics, Inc.
4  * All Rights Reserved.
5  */
6 #ifndef __XFS_IOCTL_H__
7 #define __XFS_IOCTL_H__
8 
9 extern int
10 xfs_ioc_space(
11 	struct file		*filp,
12 	unsigned int		cmd,
13 	xfs_flock64_t		*bf);
14 
15 int
16 xfs_ioc_swapext(
17 	xfs_swapext_t	*sxp);
18 
19 extern int
20 xfs_find_handle(
21 	unsigned int		cmd,
22 	xfs_fsop_handlereq_t	*hreq);
23 
24 extern int
25 xfs_open_by_handle(
26 	struct file		*parfilp,
27 	xfs_fsop_handlereq_t	*hreq);
28 
29 extern int
30 xfs_readlink_by_handle(
31 	struct file		*parfilp,
32 	xfs_fsop_handlereq_t	*hreq);
33 
34 extern int
35 xfs_attrmulti_attr_get(
36 	struct inode		*inode,
37 	unsigned char		*name,
38 	unsigned char		__user *ubuf,
39 	uint32_t		*len,
40 	uint32_t		flags);
41 
42 extern int
43 xfs_attrmulti_attr_set(
44 	struct inode		*inode,
45 	unsigned char		*name,
46 	const unsigned char	__user *ubuf,
47 	uint32_t		len,
48 	uint32_t		flags);
49 
50 extern int
51 xfs_attrmulti_attr_remove(
52 	struct inode		*inode,
53 	unsigned char		*name,
54 	uint32_t		flags);
55 
56 extern struct dentry *
57 xfs_handle_to_dentry(
58 	struct file		*parfilp,
59 	void __user		*uhandle,
60 	u32			hlen);
61 
62 extern long
63 xfs_file_ioctl(
64 	struct file		*filp,
65 	unsigned int		cmd,
66 	unsigned long		p);
67 
68 extern long
69 xfs_file_compat_ioctl(
70 	struct file		*file,
71 	unsigned int		cmd,
72 	unsigned long		arg);
73 
74 extern int
75 xfs_set_dmattrs(
76 	struct xfs_inode	*ip,
77 	uint			evmask,
78 	uint16_t		state);
79 
80 struct xfs_ibulk;
81 struct xfs_bstat;
82 struct xfs_inogrp;
83 
84 int xfs_fsbulkstat_one_fmt(struct xfs_ibulk *breq,
85 			   const struct xfs_bulkstat *bstat);
86 int xfs_fsinumbers_fmt(struct xfs_ibulk *breq, const struct xfs_inumbers *igrp);
87 
88 #endif
89