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, 42 size_t bufsize, int flags, 43 struct xfs_attrlist_cursor __user *ucursor); 44 45 extern struct dentry * 46 xfs_handle_to_dentry( 47 struct file *parfilp, 48 void __user *uhandle, 49 u32 hlen); 50 51 extern int 52 xfs_fileattr_get( 53 struct dentry *dentry, 54 struct fileattr *fa); 55 56 extern int 57 xfs_fileattr_set( 58 struct user_namespace *mnt_userns, 59 struct dentry *dentry, 60 struct fileattr *fa); 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 int xfs_fsbulkstat_one_fmt(struct xfs_ibulk *breq, 75 const struct xfs_bulkstat *bstat); 76 int xfs_fsinumbers_fmt(struct xfs_ibulk *breq, const struct xfs_inumbers *igrp); 77 78 #endif 79