1 | /* 7zBuf.h -- Byte Buffer |
2 | 2009-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 |
10 | extern "C" { |
11 | #endif |
12 | |
13 | typedef struct |
14 | { |
15 | Byte *data; |
16 | size_t size; |
17 | } CBuf; |
18 | |
19 | void Buf_Init(CBuf *p); |
20 | int Buf_Create(CBuf *p, size_t size, ISzAlloc *alloc); |
21 | void Buf_Free(CBuf *p, ISzAlloc *alloc); |
22 | |
23 | typedef struct |
24 | { |
25 | Byte *data; |
26 | size_t size; |
27 | size_t pos; |
28 | } CDynBuf; |
29 | |
30 | void DynBuf_Construct(CDynBuf *p); |
31 | void DynBuf_SeekToBeg(CDynBuf *p); |
32 | int DynBuf_Write(CDynBuf *p, const Byte *buf, size_t size, ISzAlloc *alloc); |
33 | void DynBuf_Free(CDynBuf *p, ISzAlloc *alloc); |
34 | |
35 | #ifdef __cplusplus |
36 | } |
37 | #endif |
38 | |
39 | #endif |
40 | |