xref: /linux/fs/ntfs/ea.h (revision cdd4dc3aebeab43a72ce0bc2b5bab6f0a80b97a5)
1*40796051SNamjae Jeon /* SPDX-License-Identifier: GPL-2.0-or-later */
2*40796051SNamjae Jeon 
3*40796051SNamjae Jeon #ifndef _LINUX_NTFS_EA_H
4*40796051SNamjae Jeon #define _LINUX_NTFS_EA_H
5*40796051SNamjae Jeon 
6*40796051SNamjae Jeon #define NTFS_EA_UID	BIT(1)
7*40796051SNamjae Jeon #define NTFS_EA_GID	BIT(2)
8*40796051SNamjae Jeon #define NTFS_EA_MODE	BIT(3)
9*40796051SNamjae Jeon 
10*40796051SNamjae Jeon extern const struct xattr_handler *const ntfs_xattr_handlers[];
11*40796051SNamjae Jeon 
12*40796051SNamjae Jeon int ntfs_ea_set_wsl_not_symlink(struct ntfs_inode *ni, mode_t mode, dev_t dev);
13*40796051SNamjae Jeon int ntfs_ea_get_wsl_inode(struct inode *inode, dev_t *rdevp, unsigned int flags);
14*40796051SNamjae Jeon int ntfs_ea_set_wsl_inode(struct inode *inode, dev_t rdev, __le16 *ea_size,
15*40796051SNamjae Jeon 		unsigned int flags);
16*40796051SNamjae Jeon ssize_t ntfs_listxattr(struct dentry *dentry, char *buffer, size_t size);
17*40796051SNamjae Jeon 
18*40796051SNamjae Jeon #ifdef CONFIG_NTFS_FS_POSIX_ACL
19*40796051SNamjae Jeon struct posix_acl *ntfs_get_acl(struct mnt_idmap *idmap, struct dentry *dentry,
20*40796051SNamjae Jeon 			       int type);
21*40796051SNamjae Jeon int ntfs_set_acl(struct mnt_idmap *idmap, struct dentry *dentry,
22*40796051SNamjae Jeon 		 struct posix_acl *acl, int type);
23*40796051SNamjae Jeon int ntfs_init_acl(struct mnt_idmap *idmap, struct inode *inode,
24*40796051SNamjae Jeon 		  struct inode *dir);
25*40796051SNamjae Jeon #else
26*40796051SNamjae Jeon #define ntfs_get_acl NULL
27*40796051SNamjae Jeon #define ntfs_set_acl NULL
28*40796051SNamjae Jeon #endif
29*40796051SNamjae Jeon 
30*40796051SNamjae Jeon #endif /* _LINUX_NTFS_EA_H */
31