1 /* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
2 /*
3 * Copyright (C), 2021, Coolpad Group Limited.
4 * Created by Yue Hu <[email protected]>
5 */
6 #ifndef __EROFS_BLOCK_LIST_H
7 #define __EROFS_BLOCK_LIST_H
8
9 #ifdef __cplusplus
10 extern "C"
11 {
12 #endif
13
14 #include "internal.h"
15
16 int erofs_blocklist_open(FILE *fp, bool srcmap);
17 FILE *erofs_blocklist_close(void);
18
19 void tarerofs_blocklist_write(erofs_blk_t blkaddr, erofs_blk_t nblocks,
20 erofs_off_t srcoff);
21 #ifdef WITH_ANDROID
22 void erofs_droid_blocklist_write(struct erofs_inode *inode,
23 erofs_blk_t blk_start, erofs_blk_t nblocks);
24 void erofs_droid_blocklist_write_tail_end(struct erofs_inode *inode,
25 erofs_blk_t blkaddr);
26 void erofs_droid_blocklist_write_extent(struct erofs_inode *inode,
27 erofs_blk_t blk_start, erofs_blk_t nblocks,
28 bool first_extent, bool last_extent);
29 #else
erofs_droid_blocklist_write(struct erofs_inode * inode,erofs_blk_t blk_start,erofs_blk_t nblocks)30 static inline void erofs_droid_blocklist_write(struct erofs_inode *inode,
31 erofs_blk_t blk_start, erofs_blk_t nblocks) {}
32 static inline void
erofs_droid_blocklist_write_tail_end(struct erofs_inode * inode,erofs_blk_t blkaddr)33 erofs_droid_blocklist_write_tail_end(struct erofs_inode *inode,
34 erofs_blk_t blkaddr) {}
35 static inline void
erofs_droid_blocklist_write_extent(struct erofs_inode * inode,erofs_blk_t blk_start,erofs_blk_t nblocks,bool first_extent,bool last_extent)36 erofs_droid_blocklist_write_extent(struct erofs_inode *inode,
37 erofs_blk_t blk_start, erofs_blk_t nblocks,
38 bool first_extent, bool last_extent) {}
39 #endif
40
41 #ifdef __cplusplus
42 }
43 #endif
44
45 #endif
46