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