]> git.saurik.com Git - apple/hfs.git/blob - livefiles_hfs_plugin/lf_hfs_xattr.h
8f90e6f984c1d1a3bfa55ebd78a97f2773240d93
[apple/hfs.git] / livefiles_hfs_plugin / lf_hfs_xattr.h
1 /* Copyright © 2017-2018 Apple Inc. All rights reserved.
2 *
3 * lf_hfs_xattr.h
4 * livefiles_hfs
5 *
6 * Created by Or Haimovich on 28/3/18.
7 */
8 #ifndef lf_hfs_xattr_h
9 #define lf_hfs_xattr_h
10
11 #include "lf_hfs_vnode.h"
12 #include "lf_hfs_format.h"
13 #include <UserFS/UserVFS.h>
14
15 int hfs_attrkeycompare(HFSPlusAttrKey *searchKey, HFSPlusAttrKey *trialKey);
16 int init_attrdata_vnode(struct hfsmount *hfsmp);
17 int file_attribute_exist(struct hfsmount *hfsmp, uint32_t fileID);
18 int hfs_buildattrkey(u_int32_t fileID, const char *attrname, HFSPlusAttrKey *key);
19 int hfs_removeallattr(struct hfsmount *hfsmp, u_int32_t fileid, bool *open_transaction);
20 int hfs_vnop_getxattr(vnode_t vp, const char *attr_name, void *buf, size_t bufsize, size_t *actual_size);
21 int hfs_vnop_setxattr(vnode_t vp, const char *attr_name, const void *buf, size_t bufsize, UVFSXattrHow How);
22 int hfs_vnop_removexattr(vnode_t vp, const char *attr_name);
23 int hfs_vnop_listxattr(vnode_t vp, void *buf, size_t bufsize, size_t *actual_size);
24
25 #endif /* lf_hfs_xattr_h */