blob: bab6a5a924077fff1a4631bb905602a7be4a8c33 [file] [log] [blame]
Andrew Scullb4b6d4a2019-01-02 15:54:55 +00001// 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
Olivier Deprez157378f2022-04-04 15:47:50 +02009struct xfs_bstat;
10struct xfs_ibulk;
11struct xfs_inogrp;
12
13
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000014extern int
15xfs_ioc_space(
16 struct file *filp,
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000017 xfs_flock64_t *bf);
18
19int
20xfs_ioc_swapext(
21 xfs_swapext_t *sxp);
22
23extern int
24xfs_find_handle(
25 unsigned int cmd,
26 xfs_fsop_handlereq_t *hreq);
27
28extern int
29xfs_open_by_handle(
30 struct file *parfilp,
31 xfs_fsop_handlereq_t *hreq);
32
33extern int
34xfs_readlink_by_handle(
35 struct file *parfilp,
36 xfs_fsop_handlereq_t *hreq);
37
Olivier Deprez157378f2022-04-04 15:47:50 +020038int 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);
41int xfs_ioc_attr_list(struct xfs_inode *dp, void __user *ubuf, int bufsize,
42 int flags, struct xfs_attrlist_cursor __user *ucursor);
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000043
44extern struct dentry *
45xfs_handle_to_dentry(
46 struct file *parfilp,
47 void __user *uhandle,
48 u32 hlen);
49
50extern long
51xfs_file_ioctl(
52 struct file *filp,
53 unsigned int cmd,
54 unsigned long p);
55
56extern long
57xfs_file_compat_ioctl(
58 struct file *file,
59 unsigned int cmd,
60 unsigned long arg);
61
David Brazdil0f672f62019-12-10 10:32:29 +000062int xfs_fsbulkstat_one_fmt(struct xfs_ibulk *breq,
63 const struct xfs_bulkstat *bstat);
64int xfs_fsinumbers_fmt(struct xfs_ibulk *breq, const struct xfs_inumbers *igrp);
65
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000066#endif