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