blob: 416e20de66e7dfb247935a851480d42239a4a3cd [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);
Olivier Deprez92d4c212022-12-06 15:05:30 +010041int xfs_ioc_attr_list(struct xfs_inode *dp, void __user *ubuf,
42 size_t bufsize, int flags,
43 struct xfs_attrlist_cursor __user *ucursor);
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000044
45extern struct dentry *
46xfs_handle_to_dentry(
47 struct file *parfilp,
48 void __user *uhandle,
49 u32 hlen);
50
51extern long
52xfs_file_ioctl(
53 struct file *filp,
54 unsigned int cmd,
55 unsigned long p);
56
57extern long
58xfs_file_compat_ioctl(
59 struct file *file,
60 unsigned int cmd,
61 unsigned long arg);
62
David Brazdil0f672f62019-12-10 10:32:29 +000063int xfs_fsbulkstat_one_fmt(struct xfs_ibulk *breq,
64 const struct xfs_bulkstat *bstat);
65int xfs_fsinumbers_fmt(struct xfs_ibulk *breq, const struct xfs_inumbers *igrp);
66
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000067#endif