^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) // SPDX-License-Identifier: GPL-2.0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) * Copyright (c) 2008 Silicon Graphics, Inc.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) * All Rights Reserved.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) #ifndef __XFS_IOCTL_H__
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) #define __XFS_IOCTL_H__
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) struct xfs_bstat;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) struct xfs_ibulk;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) struct xfs_inogrp;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) extern int
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) xfs_ioc_space(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) struct file *filp,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) xfs_flock64_t *bf);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) int
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) xfs_ioc_swapext(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) xfs_swapext_t *sxp);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) extern int
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) xfs_find_handle(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) unsigned int cmd,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) xfs_fsop_handlereq_t *hreq);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) extern int
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) xfs_open_by_handle(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) struct file *parfilp,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) xfs_fsop_handlereq_t *hreq);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) extern int
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) xfs_readlink_by_handle(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) struct file *parfilp,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) xfs_fsop_handlereq_t *hreq);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) int xfs_ioc_attrmulti_one(struct file *parfilp, struct inode *inode,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) uint32_t opcode, void __user *uname, void __user *value,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) uint32_t *len, uint32_t flags);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) int xfs_ioc_attr_list(struct xfs_inode *dp, void __user *ubuf, int bufsize,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) int flags, struct xfs_attrlist_cursor __user *ucursor);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) extern struct dentry *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) xfs_handle_to_dentry(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) struct file *parfilp,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) void __user *uhandle,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) u32 hlen);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) extern long
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) xfs_file_ioctl(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) struct file *filp,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) unsigned int cmd,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) unsigned long p);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) extern long
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) xfs_file_compat_ioctl(
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) struct file *file,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) unsigned int cmd,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) unsigned long arg);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) int xfs_fsbulkstat_one_fmt(struct xfs_ibulk *breq,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) const struct xfs_bulkstat *bstat);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) int xfs_fsinumbers_fmt(struct xfs_ibulk *breq, const struct xfs_inumbers *igrp);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) #endif