xref: /aosp_15_r20/external/lzma/C/7zBuf.h (revision f6dc9357d832569d4d1f5d24eacdb3935a1ae8e6)
1*f6dc9357SAndroid Build Coastguard Worker /* 7zBuf.h -- Byte Buffer
2*f6dc9357SAndroid Build Coastguard Worker 2023-03-04 : Igor Pavlov : Public domain */
3*f6dc9357SAndroid Build Coastguard Worker 
4*f6dc9357SAndroid Build Coastguard Worker #ifndef ZIP7_INC_7Z_BUF_H
5*f6dc9357SAndroid Build Coastguard Worker #define ZIP7_INC_7Z_BUF_H
6*f6dc9357SAndroid Build Coastguard Worker 
7*f6dc9357SAndroid Build Coastguard Worker #include "7zTypes.h"
8*f6dc9357SAndroid Build Coastguard Worker 
9*f6dc9357SAndroid Build Coastguard Worker EXTERN_C_BEGIN
10*f6dc9357SAndroid Build Coastguard Worker 
11*f6dc9357SAndroid Build Coastguard Worker typedef struct
12*f6dc9357SAndroid Build Coastguard Worker {
13*f6dc9357SAndroid Build Coastguard Worker   Byte *data;
14*f6dc9357SAndroid Build Coastguard Worker   size_t size;
15*f6dc9357SAndroid Build Coastguard Worker } CBuf;
16*f6dc9357SAndroid Build Coastguard Worker 
17*f6dc9357SAndroid Build Coastguard Worker void Buf_Init(CBuf *p);
18*f6dc9357SAndroid Build Coastguard Worker int Buf_Create(CBuf *p, size_t size, ISzAllocPtr alloc);
19*f6dc9357SAndroid Build Coastguard Worker void Buf_Free(CBuf *p, ISzAllocPtr alloc);
20*f6dc9357SAndroid Build Coastguard Worker 
21*f6dc9357SAndroid Build Coastguard Worker typedef struct
22*f6dc9357SAndroid Build Coastguard Worker {
23*f6dc9357SAndroid Build Coastguard Worker   Byte *data;
24*f6dc9357SAndroid Build Coastguard Worker   size_t size;
25*f6dc9357SAndroid Build Coastguard Worker   size_t pos;
26*f6dc9357SAndroid Build Coastguard Worker } CDynBuf;
27*f6dc9357SAndroid Build Coastguard Worker 
28*f6dc9357SAndroid Build Coastguard Worker void DynBuf_Construct(CDynBuf *p);
29*f6dc9357SAndroid Build Coastguard Worker void DynBuf_SeekToBeg(CDynBuf *p);
30*f6dc9357SAndroid Build Coastguard Worker int DynBuf_Write(CDynBuf *p, const Byte *buf, size_t size, ISzAllocPtr alloc);
31*f6dc9357SAndroid Build Coastguard Worker void DynBuf_Free(CDynBuf *p, ISzAllocPtr alloc);
32*f6dc9357SAndroid Build Coastguard Worker 
33*f6dc9357SAndroid Build Coastguard Worker EXTERN_C_END
34*f6dc9357SAndroid Build Coastguard Worker 
35*f6dc9357SAndroid Build Coastguard Worker #endif
36