Separate Simple Backend creation from initialization.
[chromium-blink-merge.git] / third_party / lzma_sdk / 7zBuf.h
blobe9f2f316d0dd9d0ebf57b8aa87eb1c93c9aa9124
1 /* 7zBuf.h -- Byte Buffer
2 2009-02-07 : Igor Pavlov : Public domain */
4 #ifndef __7Z_BUF_H
5 #define __7Z_BUF_H
7 #include "Types.h"
9 #ifdef __cplusplus
10 extern "C" {
11 #endif
13 typedef struct
15 Byte *data;
16 size_t size;
17 } CBuf;
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);
23 typedef struct
25 Byte *data;
26 size_t size;
27 size_t pos;
28 } CDynBuf;
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);
35 #ifdef __cplusplus
37 #endif
39 #endif