xref: /linux/fs/xfs/xfs_ioctl.h (revision 87c9c16317882dd6dbbc07e349bc3223e14f3244)
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 struct xfs_bstat;
10 struct xfs_ibulk;
11 struct xfs_inogrp;
12 
13 
14 extern int
15 xfs_ioc_space(
16 	struct file		*filp,
17 	xfs_flock64_t		*bf);
18 
19 int
20 xfs_ioc_swapext(
21 	xfs_swapext_t	*sxp);
22 
23 extern int
24 xfs_find_handle(
25 	unsigned int		cmd,
26 	xfs_fsop_handlereq_t	*hreq);
27 
28 extern int
29 xfs_open_by_handle(
30 	struct file		*parfilp,
31 	xfs_fsop_handlereq_t	*hreq);
32 
33 extern int
34 xfs_readlink_by_handle(
35 	struct file		*parfilp,
36 	xfs_fsop_handlereq_t	*hreq);
37 
38 int xfs_ioc_attrmulti_one(struct file *parfilp, struct inode *inode,
39 		uint32_t opcode, void __user *uname, void __user *value,
40 		uint32_t *len, uint32_t flags);
41 int xfs_ioc_attr_list(struct xfs_inode *dp, void __user *ubuf, int bufsize,
42 	int flags, struct xfs_attrlist_cursor __user *ucursor);
43 
44 extern struct dentry *
45 xfs_handle_to_dentry(
46 	struct file		*parfilp,
47 	void __user		*uhandle,
48 	u32			hlen);
49 
50 extern int
51 xfs_fileattr_get(
52 	struct dentry		*dentry,
53 	struct fileattr		*fa);
54 
55 extern int
56 xfs_fileattr_set(
57 	struct user_namespace	*mnt_userns,
58 	struct dentry		*dentry,
59 	struct fileattr		*fa);
60 
61 extern long
62 xfs_file_ioctl(
63 	struct file		*filp,
64 	unsigned int		cmd,
65 	unsigned long		p);
66 
67 extern long
68 xfs_file_compat_ioctl(
69 	struct file		*file,
70 	unsigned int		cmd,
71 	unsigned long		arg);
72 
73 int xfs_fsbulkstat_one_fmt(struct xfs_ibulk *breq,
74 			   const struct xfs_bulkstat *bstat);
75 int xfs_fsinumbers_fmt(struct xfs_ibulk *breq, const struct xfs_inumbers *igrp);
76 
77 #endif
78