61 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			61 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
|  | /* 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
 |