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