xref: /aosp_15_r20/external/erofs-utils/include/erofs/block_list.h (revision 33b1fccf6a0fada2c2875d400ed01119b7676ee5)
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