Source code
Revision control
Copy as Markdown
Other Tools
/* XzEnc.h -- Xz Encode↩
2017-06-27 : Igor Pavlov : Public domain */↩
↩
#ifndef __XZ_ENC_H↩
#define __XZ_ENC_H↩
↩
#include "Lzma2Enc.h"↩
↩
#include "Xz.h"↩
↩
EXTERN_C_BEGIN↩
↩
↩
#define XZ_PROPS__BLOCK_SIZE__AUTO LZMA2_ENC_PROPS__BLOCK_SIZE__AUTO↩
#define XZ_PROPS__BLOCK_SIZE__SOLID LZMA2_ENC_PROPS__BLOCK_SIZE__SOLID↩
↩
↩
typedef struct↩
{↩
UInt32 id;↩
UInt32 delta;↩
UInt32 ip;↩
int ipDefined;↩
} CXzFilterProps;↩
↩
void XzFilterProps_Init(CXzFilterProps *p);↩
↩
↩
typedef struct↩
{↩
CLzma2EncProps lzma2Props;↩
CXzFilterProps filterProps;↩
unsigned checkId;↩
UInt64 blockSize;↩
int numBlockThreads_Reduced;↩
int numBlockThreads_Max;↩
int numTotalThreads;↩
int forceWriteSizesInHeader;↩
UInt64 reduceSize;↩
} CXzProps;↩
↩
void XzProps_Init(CXzProps *p);↩
↩
↩
typedef void * CXzEncHandle;↩
↩
CXzEncHandle XzEnc_Create(ISzAllocPtr alloc, ISzAllocPtr allocBig);↩
void XzEnc_Destroy(CXzEncHandle p);↩
SRes XzEnc_SetProps(CXzEncHandle p, const CXzProps *props);↩
void XzEnc_SetDataSize(CXzEncHandle p, UInt64 expectedDataSiize);↩
SRes XzEnc_Encode(CXzEncHandle p, ISeqOutStream *outStream, ISeqInStream *inStream, ICompressProgress *progress);↩
↩
SRes Xz_Encode(ISeqOutStream *outStream, ISeqInStream *inStream,↩
const CXzProps *props, ICompressProgress *progress);↩
↩
SRes Xz_EncodeEmpty(ISeqOutStream *outStream);↩
↩
EXTERN_C_END↩
↩
#endif↩