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