1/* 7zBuf.h -- Byte Buffer 22009-02-07 : Igor Pavlov : Public domain */ 3 4#ifndef __7Z_BUF_H 5#define __7Z_BUF_H 6 7#include "Types.h" 8 9#ifdef __cplusplus 10extern "C" { 11#endif 12 13typedef struct 14{ 15 Byte *data; 16 size_t size; 17} CBuf; 18 19void Buf_Init(CBuf *p); 20int Buf_Create(CBuf *p, size_t size, ISzAlloc *alloc); 21void Buf_Free(CBuf *p, ISzAlloc *alloc); 22 23typedef struct 24{ 25 Byte *data; 26 size_t size; 27 size_t pos; 28} CDynBuf; 29 30void DynBuf_Construct(CDynBuf *p); 31void DynBuf_SeekToBeg(CDynBuf *p); 32int DynBuf_Write(CDynBuf *p, const Byte *buf, size_t size, ISzAlloc *alloc); 33void DynBuf_Free(CDynBuf *p, ISzAlloc *alloc); 34 35#ifdef __cplusplus 36} 37#endif 38 39#endif 40