5 // Created by Yakov Ben Zaken on 22/03/2018.
8 #ifndef lf_hfs_btrees_io_h
9 #define lf_hfs_btrees_io_h
15 #include "lf_hfs_btrees_internal.h"
17 /* BTree accessor routines */
18 OSStatus
SetBTreeBlockSize(FileReference vp
, ByteCount blockSize
,
19 ItemCount minBlockCount
);
21 OSStatus
GetBTreeBlock(FileReference vp
, uint64_t blockNum
,
22 GetBlockOptions options
, BlockDescriptor
*block
);
24 OSStatus
ReleaseBTreeBlock(FileReference vp
, BlockDescPtr blockPtr
,
25 ReleaseBlockOptions options
);
27 OSStatus
ExtendBTreeFile(FileReference vp
, FSSize minEOF
, FSSize maxEOF
);
29 void ModifyBlockStart(FileReference vp
, BlockDescPtr blockPtr
);
31 int hfs_create_attr_btree(struct hfsmount
*hfsmp
, u_int32_t nodesize
, u_int32_t nodecnt
);
33 u_int16_t
get_btree_nodesize(struct vnode
*vp
);
35 #endif /* lf_hfs_btrees_io_h */