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