add CHD support.
[pcsx_rearmed.git] / deps / lzma-16.04 / C / Lzma2Enc.h
CommitLineData
ce188d4d 1/* Lzma2Enc.h -- LZMA2 Encoder\r
22013-01-18 : Igor Pavlov : Public domain */\r
3\r
4#ifndef __LZMA2_ENC_H\r
5#define __LZMA2_ENC_H\r
6\r
7#include "LzmaEnc.h"\r
8\r
9EXTERN_C_BEGIN\r
10\r
11typedef struct\r
12{\r
13 CLzmaEncProps lzmaProps;\r
14 size_t blockSize;\r
15 int numBlockThreads;\r
16 int numTotalThreads;\r
17} CLzma2EncProps;\r
18\r
19void Lzma2EncProps_Init(CLzma2EncProps *p);\r
20void Lzma2EncProps_Normalize(CLzma2EncProps *p);\r
21\r
22/* ---------- CLzmaEnc2Handle Interface ---------- */\r
23\r
24/* Lzma2Enc_* functions can return the following exit codes:\r
25Returns:\r
26 SZ_OK - OK\r
27 SZ_ERROR_MEM - Memory allocation error\r
28 SZ_ERROR_PARAM - Incorrect paramater in props\r
29 SZ_ERROR_WRITE - Write callback error\r
30 SZ_ERROR_PROGRESS - some break from progress callback\r
31 SZ_ERROR_THREAD - errors in multithreading functions (only for Mt version)\r
32*/\r
33\r
34typedef void * CLzma2EncHandle;\r
35\r
36CLzma2EncHandle Lzma2Enc_Create(ISzAlloc *alloc, ISzAlloc *allocBig);\r
37void Lzma2Enc_Destroy(CLzma2EncHandle p);\r
38SRes Lzma2Enc_SetProps(CLzma2EncHandle p, const CLzma2EncProps *props);\r
39Byte Lzma2Enc_WriteProperties(CLzma2EncHandle p);\r
40SRes Lzma2Enc_Encode(CLzma2EncHandle p,\r
41 ISeqOutStream *outStream, ISeqInStream *inStream, ICompressProgress *progress);\r
42\r
43/* ---------- One Call Interface ---------- */\r
44\r
45/* Lzma2Encode\r
46Return code:\r
47 SZ_OK - OK\r
48 SZ_ERROR_MEM - Memory allocation error\r
49 SZ_ERROR_PARAM - Incorrect paramater\r
50 SZ_ERROR_OUTPUT_EOF - output buffer overflow\r
51 SZ_ERROR_THREAD - errors in multithreading functions (only for Mt version)\r
52*/\r
53\r
54/*\r
55SRes Lzma2Encode(Byte *dest, SizeT *destLen, const Byte *src, SizeT srcLen,\r
56 const CLzmaEncProps *props, Byte *propsEncoded, int writeEndMark,\r
57 ICompressProgress *progress, ISzAlloc *alloc, ISzAlloc *allocBig);\r
58*/\r
59\r
60EXTERN_C_END\r
61\r
62#endif\r