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