]> git.saurik.com Git - apple/hfs.git/blob - livefiles_hfs_plugin/lf_hfs_btrees_io.h
hfs-522.0.9.tar.gz
[apple/hfs.git] / livefiles_hfs_plugin / lf_hfs_btrees_io.h
1 //
2 // lf_hfs_btrees_io.h
3 // livefiles_hfs
4 //
5 // Created by Yakov Ben Zaken on 22/03/2018.
6 //
7
8 #ifndef lf_hfs_btrees_io_h
9 #define lf_hfs_btrees_io_h
10
11 #include <stdio.h>
12
13
14 #include "lf_hfs.h"
15 #include "lf_hfs_btrees_internal.h"
16
17 /* BTree accessor routines */
18 OSStatus SetBTreeBlockSize(FileReference vp, ByteCount blockSize,
19 ItemCount minBlockCount);
20
21 OSStatus GetBTreeBlock(FileReference vp, uint64_t blockNum,
22 GetBlockOptions options, BlockDescriptor *block);
23
24 OSStatus ReleaseBTreeBlock(FileReference vp, BlockDescPtr blockPtr,
25 ReleaseBlockOptions options);
26
27 OSStatus ExtendBTreeFile(FileReference vp, FSSize minEOF, FSSize maxEOF);
28
29 void ModifyBlockStart(FileReference vp, BlockDescPtr blockPtr);
30
31 int hfs_create_attr_btree(struct hfsmount *hfsmp, u_int32_t nodesize, u_int32_t nodecnt);
32
33 u_int16_t get_btree_nodesize(struct vnode *vp);
34
35 #endif /* lf_hfs_btrees_io_h */