• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
2 /*
3  * Copyright (C), 2021, Coolpad Group Limited.
4  * Created by Yue Hu <huyue2@yulong.com>
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(char *filename, bool srcmap);
17 void 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