1  // SPDX-License-Identifier: GPL-2.0
2  /*
3   * Copyright (c) 2000-2005 Silicon Graphics, Inc.
4   * Copyright (c) 2022-2024 Oracle.
5   * All rights reserved.
6   */
7  #ifndef	__XFS_HANDLE_H__
8  #define	__XFS_HANDLE_H__
9  
10  int xfs_attrlist_by_handle(struct file *parfilp,
11  		struct xfs_fsop_attrlist_handlereq __user *p);
12  int xfs_attrmulti_by_handle(struct file *parfilp, void __user *arg);
13  
14  int xfs_find_handle(unsigned int cmd, struct xfs_fsop_handlereq *hreq);
15  int xfs_open_by_handle(struct file *parfilp, struct xfs_fsop_handlereq *hreq);
16  int xfs_readlink_by_handle(struct file *parfilp,
17  		struct xfs_fsop_handlereq *hreq);
18  
19  int xfs_ioc_attrmulti_one(struct file *parfilp, struct inode *inode,
20  		uint32_t opcode, void __user *uname, void __user *value,
21  		uint32_t *len, uint32_t flags);
22  int xfs_ioc_attr_list(struct xfs_inode *dp, void __user *ubuf,
23  		      size_t bufsize, int flags,
24  		      struct xfs_attrlist_cursor __user *ucursor);
25  
26  struct dentry *xfs_handle_to_dentry(struct file *parfilp, void __user *uhandle,
27  		u32 hlen);
28  
29  int xfs_ioc_getparents(struct file *file, struct xfs_getparents __user *arg);
30  int xfs_ioc_getparents_by_handle(struct file *file,
31  		struct xfs_getparents_by_handle __user *arg);
32  
33  #endif	/* __XFS_HANDLE_H__ */
34