You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
62 lines
1.7 KiB
62 lines
1.7 KiB
/* Lzma2Enc.h -- LZMA2 Encoder |
|
2013-01-18 : Igor Pavlov : Public domain */ |
|
|
|
#ifndef __LZMA2_ENC_H |
|
#define __LZMA2_ENC_H |
|
|
|
#include "LzmaEnc.h" |
|
|
|
EXTERN_C_BEGIN |
|
|
|
typedef struct |
|
{ |
|
CLzmaEncProps lzmaProps; |
|
size_t blockSize; |
|
int numBlockThreads; |
|
int numTotalThreads; |
|
} CLzma2EncProps; |
|
|
|
void Lzma2EncProps_Init(CLzma2EncProps *p); |
|
void Lzma2EncProps_Normalize(CLzma2EncProps *p); |
|
|
|
/* ---------- CLzmaEnc2Handle Interface ---------- */ |
|
|
|
/* Lzma2Enc_* functions can return the following exit codes: |
|
Returns: |
|
SZ_OK - OK |
|
SZ_ERROR_MEM - Memory allocation error |
|
SZ_ERROR_PARAM - Incorrect paramater in props |
|
SZ_ERROR_WRITE - Write callback error |
|
SZ_ERROR_PROGRESS - some break from progress callback |
|
SZ_ERROR_THREAD - errors in multithreading functions (only for Mt version) |
|
*/ |
|
|
|
typedef void * CLzma2EncHandle; |
|
|
|
CLzma2EncHandle Lzma2Enc_Create(ISzAlloc *alloc, ISzAlloc *allocBig); |
|
void Lzma2Enc_Destroy(CLzma2EncHandle p); |
|
SRes Lzma2Enc_SetProps(CLzma2EncHandle p, const CLzma2EncProps *props); |
|
Byte Lzma2Enc_WriteProperties(CLzma2EncHandle p); |
|
SRes Lzma2Enc_Encode(CLzma2EncHandle p, |
|
ISeqOutStream *outStream, ISeqInStream *inStream, ICompressProgress *progress); |
|
|
|
/* ---------- One Call Interface ---------- */ |
|
|
|
/* Lzma2Encode |
|
Return code: |
|
SZ_OK - OK |
|
SZ_ERROR_MEM - Memory allocation error |
|
SZ_ERROR_PARAM - Incorrect paramater |
|
SZ_ERROR_OUTPUT_EOF - output buffer overflow |
|
SZ_ERROR_THREAD - errors in multithreading functions (only for Mt version) |
|
*/ |
|
|
|
/* |
|
SRes Lzma2Encode(Byte *dest, SizeT *destLen, const Byte *src, SizeT srcLen, |
|
const CLzmaEncProps *props, Byte *propsEncoded, int writeEndMark, |
|
ICompressProgress *progress, ISzAlloc *alloc, ISzAlloc *allocBig); |
|
*/ |
|
|
|
EXTERN_C_END |
|
|
|
#endif
|
|
|