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