xref: /aosp_15_r20/external/erofs-utils/include/erofs/diskbuf.h (revision 33b1fccf6a0fada2c2875d400ed01119b7676ee5)
1 /* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */
2 #ifndef __EROFS_DISKBUF_H
3 #define __EROFS_DISKBUF_H
4 
5 #ifdef __cplusplus
6 extern "C"
7 {
8 #endif
9 
10 #include "erofs/defs.h"
11 
12 struct erofs_diskbuf {
13 	void *sp;		/* internal stream pointer */
14 	u64 offset;		/* internal offset */
15 };
16 
17 int erofs_diskbuf_getfd(struct erofs_diskbuf *db, u64 *off);
18 
19 int erofs_diskbuf_reserve(struct erofs_diskbuf *db, int sid, u64 *off);
20 void erofs_diskbuf_commit(struct erofs_diskbuf *db, u64 len);
21 void erofs_diskbuf_close(struct erofs_diskbuf *db);
22 
23 int erofs_diskbuf_init(unsigned int nstrms);
24 void erofs_diskbuf_exit(void);
25 
26 #ifdef __cplusplus
27 }
28 #endif
29 
30 #endif
31