]> git.saurik.com Git - apple/hfs.git/blob - livefiles_hfs_plugin/lf_hfs_chash.h
hfs-522.0.9.tar.gz
[apple/hfs.git] / livefiles_hfs_plugin / lf_hfs_chash.h
1 /* Copyright © 2017-2018 Apple Inc. All rights reserved.
2 *
3 * lf_hfs_chash.h
4 * livefiles_hfs
5 *
6 * Created by Or Haimovich on 20/3/18.
7 */
8
9 #ifndef lf_hfs_chash_h
10 #define lf_hfs_chash_h
11 #include "lf_hfs_common.h"
12 #include "lf_hfs.h"
13
14 struct cnode* hfs_chash_getcnode(struct hfsmount *hfsmp, ino_t inum, struct vnode **vpp, int wantrsrc, int skiplock, int *out_flags, int *hflags);
15 void hfs_chash_lock(struct hfsmount *hfsmp);
16 void hfs_chash_lock_spin(struct hfsmount *hfsmp);
17 void hfs_chash_lock_convert(struct hfsmount *hfsmp);
18 void hfs_chash_unlock(struct hfsmount *hfsmp);
19 void hfs_chashwakeup(struct hfsmount *hfsmp, struct cnode *cp, int hflags);
20 void hfs_chash_abort(struct hfsmount *hfsmp, struct cnode *cp);
21 struct vnode* hfs_chash_getvnode(struct hfsmount *hfsmp, ino_t inum, int wantrsrc, int skiplock, int allow_deleted);
22 int hfs_chash_snoop(struct hfsmount *hfsmp, ino_t inum, int existence_only, int (*callout)(const cnode_t *cp, void *), void * arg);
23 int hfs_chash_set_childlinkbit(struct hfsmount *hfsmp, cnid_t cnid);
24 int hfs_chashremove(struct hfsmount *hfsmp, struct cnode *cp);
25 void hfs_chash_mark_in_transit(struct hfsmount *hfsmp, struct cnode *cp);
26 void hfs_chash_lower_OpenLookupCounter(struct cnode *cp);
27 void hfs_chash_raise_OpenLookupCounter(struct cnode *cp);
28 void hfs_chash_wait(struct hfsmount *hfsmp, struct cnode *cp);
29
30 #endif /* lf_hfs_chash_h */