]> git.saurik.com Git - apple/hfs.git/blame - livefiles_hfs_plugin/lf_hfs_chash.h
hfs-522.100.5.tar.gz
[apple/hfs.git] / livefiles_hfs_plugin / lf_hfs_chash.h
CommitLineData
de8ee011
A
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
14struct cnode* hfs_chash_getcnode(struct hfsmount *hfsmp, ino_t inum, struct vnode **vpp, int wantrsrc, int skiplock, int *out_flags, int *hflags);
15void hfs_chash_lock(struct hfsmount *hfsmp);
16void hfs_chash_lock_spin(struct hfsmount *hfsmp);
17void hfs_chash_lock_convert(struct hfsmount *hfsmp);
18void hfs_chash_unlock(struct hfsmount *hfsmp);
19void hfs_chashwakeup(struct hfsmount *hfsmp, struct cnode *cp, int hflags);
20void hfs_chash_abort(struct hfsmount *hfsmp, struct cnode *cp);
21struct vnode* hfs_chash_getvnode(struct hfsmount *hfsmp, ino_t inum, int wantrsrc, int skiplock, int allow_deleted);
22int hfs_chash_snoop(struct hfsmount *hfsmp, ino_t inum, int existence_only, int (*callout)(const cnode_t *cp, void *), void * arg);
23int hfs_chash_set_childlinkbit(struct hfsmount *hfsmp, cnid_t cnid);
24int hfs_chashremove(struct hfsmount *hfsmp, struct cnode *cp);
25void hfs_chash_mark_in_transit(struct hfsmount *hfsmp, struct cnode *cp);
26void hfs_chash_lower_OpenLookupCounter(struct cnode *cp);
27void hfs_chash_raise_OpenLookupCounter(struct cnode *cp);
28void hfs_chash_wait(struct hfsmount *hfsmp, struct cnode *cp);
29
30#endif /* lf_hfs_chash_h */