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