Parolin 0.7.9 6796
Console (soon DLLs) to do a tar like job
Loading...
Searching...
No Matches
XzDec.c File Reference
#include "Precomp.h"
#include <stdlib.h>
#include <string.h>
#include "7zCrc.h"
#include "Alloc.h"
#include "Bra.h"
#include "CpuArch.h"
#include "Delta.h"
#include "Lzma2Dec.h"
#include "Xz.h"
#include "MtDec.h"

Data Structures

struct  CXzBcFilterState
 
struct  CLzma2Dec_Spec
 
struct  CXzDecMtThread
 
struct  CXzDecMt
 

Macros

#define PRF(x)
 
#define PRF_STR(s)
 
#define PRF_STR_INT(s, d)
 
#define XZ_CHECK_SIZE_MAX   64
 
#define CODER_BUF_SIZE   ((size_t)1 << 17)
 
#define BRA_BUF_SIZE   (1 << 14)
 
#define XZ_IS_SUPPORTED_FILTER_ID(id)
 
#define READ_VARINT_AND_CHECK(buf, pos, size, res)
 
#define XZDECMT_STREAM_WRITE_STEP   (1 << 24)
 

Functions

unsigned Xz_ReadVarInt (const Byte *p, size_t maxSize, UInt64 *value)
 
SRes Xz_StateCoder_Bc_SetFromMethod_Func (IStateCoder *p, UInt64 id, Xz_Func_BcFilterStateBase_Filter func, ISzAllocPtr alloc)
 
SRes Xz_ParseHeader (CXzStreamFlags *p, const Byte *buf)
 
SRes XzBlock_Parse (CXzBlock *p, const Byte *header)
 
void XzUnpacker_Init (CXzUnpacker *p)
 
void XzUnpacker_SetOutBuf (CXzUnpacker *p, Byte *outBuf, size_t outBufSize)
 
void XzUnpacker_Construct (CXzUnpacker *p, ISzAllocPtr alloc)
 
void XzUnpacker_Free (CXzUnpacker *p)
 
void XzUnpacker_PrepareToRandomBlockDecoding (CXzUnpacker *p)
 
SRes XzUnpacker_Code (CXzUnpacker *p, Byte *dest, SizeT *destLen, const Byte *src, SizeT *srcLen, int srcFinished, ECoderFinishMode finishMode, ECoderStatus *status)
 
SRes XzUnpacker_CodeFull (CXzUnpacker *p, Byte *dest, SizeT *destLen, const Byte *src, SizeT *srcLen, ECoderFinishMode finishMode, ECoderStatus *status)
 
BoolInt XzUnpacker_IsBlockFinished (const CXzUnpacker *p)
 
BoolInt XzUnpacker_IsStreamWasFinished (const CXzUnpacker *p)
 
UInt64 XzUnpacker_GetExtraSize (const CXzUnpacker *p)
 
void XzDecMtProps_Init (CXzDecMtProps *p)
 
CXzDecMtHandle XzDecMt_Create (ISzAllocPtr alloc, ISzAllocPtr allocMid)
 
void XzDecMt_Destroy (CXzDecMtHandle p)
 
void XzStatInfo_Clear (CXzStatInfo *p)
 
SRes XzDecMt_Decode (CXzDecMtHandle p, const CXzDecMtProps *props, const UInt64 *outDataSize, int finishMode, ISeqOutStreamPtr outStream, ISeqInStreamPtr inStream, CXzStatInfo *stat, int *isMT, ICompressProgressPtr progress)
 

Macro Definition Documentation

◆ BRA_BUF_SIZE

#define BRA_BUF_SIZE   (1 << 14)

◆ CODER_BUF_SIZE

#define CODER_BUF_SIZE   ((size_t)1 << 17)

◆ PRF

#define PRF ( x)

◆ PRF_STR

#define PRF_STR ( s)
Value:
PRF(printf("\n" s "\n"))
#define PRF(x)
Definition XzDec.c:25

◆ PRF_STR_INT

#define PRF_STR_INT ( s,
d )
Value:
PRF(printf("\n" s " %d\n", (unsigned)d))
#define d(i)
Definition sha256.c:44

◆ READ_VARINT_AND_CHECK

#define READ_VARINT_AND_CHECK ( buf,
pos,
size,
res )
Value:
{ const unsigned s = Xz_ReadVarInt(buf + pos, size - pos, res); \
if (s == 0) return SZ_ERROR_ARCHIVE; \
pos += s; }
#define SZ_ERROR_ARCHIVE
Definition 7zTypes.h:42
char buf[N_BUF]
Definition spewG.c:36
size_t size
Definition platform.h:559
unsigned Xz_ReadVarInt(const Byte *p, size_t maxSize, UInt64 *value)
Definition XzDec.c:54

◆ XZ_CHECK_SIZE_MAX

#define XZ_CHECK_SIZE_MAX   64

◆ XZ_IS_SUPPORTED_FILTER_ID

#define XZ_IS_SUPPORTED_FILTER_ID ( id)
Value:
((id) >= XZ_ID_Delta && (id) <= XZ_ID_RISCV)
#define XZ_ID_RISCV
Definition Xz.h:21
#define XZ_ID_Delta
Definition Xz.h:13
lzma_vli id
Filter ID.
Definition filter_common.c:18

◆ XZDECMT_STREAM_WRITE_STEP

#define XZDECMT_STREAM_WRITE_STEP   (1 << 24)

Function Documentation

◆ Xz_ParseHeader()

SRes Xz_ParseHeader ( CXzStreamFlags * p,
const Byte * buf )

◆ Xz_ReadVarInt()

unsigned Xz_ReadVarInt ( const Byte * p,
size_t maxSize,
UInt64 * value )

◆ Xz_StateCoder_Bc_SetFromMethod_Func()

SRes Xz_StateCoder_Bc_SetFromMethod_Func ( IStateCoder * p,
UInt64 id,
Xz_Func_BcFilterStateBase_Filter func,
ISzAllocPtr alloc )

◆ XzBlock_Parse()

SRes XzBlock_Parse ( CXzBlock * p,
const Byte * header )

◆ XzDecMt_Create()

CXzDecMtHandle XzDecMt_Create ( ISzAllocPtr alloc,
ISzAllocPtr allocMid )

◆ XzDecMt_Decode()

SRes XzDecMt_Decode ( CXzDecMtHandle p,
const CXzDecMtProps * props,
const UInt64 * outDataSize,
int finishMode,
ISeqOutStreamPtr outStream,
ISeqInStreamPtr inStream,
CXzStatInfo * stat,
int * isMT,
ICompressProgressPtr progress )

◆ XzDecMt_Destroy()

void XzDecMt_Destroy ( CXzDecMtHandle p)

◆ XzDecMtProps_Init()

void XzDecMtProps_Init ( CXzDecMtProps * p)

◆ XzStatInfo_Clear()

void XzStatInfo_Clear ( CXzStatInfo * p)

◆ XzUnpacker_Code()

SRes XzUnpacker_Code ( CXzUnpacker * p,
Byte * dest,
SizeT * destLen,
const Byte * src,
SizeT * srcLen,
int srcFinished,
ECoderFinishMode finishMode,
ECoderStatus * status )

◆ XzUnpacker_CodeFull()

SRes XzUnpacker_CodeFull ( CXzUnpacker * p,
Byte * dest,
SizeT * destLen,
const Byte * src,
SizeT * srcLen,
ECoderFinishMode finishMode,
ECoderStatus * status )

◆ XzUnpacker_Construct()

void XzUnpacker_Construct ( CXzUnpacker * p,
ISzAllocPtr alloc )

◆ XzUnpacker_Free()

void XzUnpacker_Free ( CXzUnpacker * p)

◆ XzUnpacker_GetExtraSize()

UInt64 XzUnpacker_GetExtraSize ( const CXzUnpacker * p)

◆ XzUnpacker_Init()

void XzUnpacker_Init ( CXzUnpacker * p)

◆ XzUnpacker_IsBlockFinished()

BoolInt XzUnpacker_IsBlockFinished ( const CXzUnpacker * p)

◆ XzUnpacker_IsStreamWasFinished()

BoolInt XzUnpacker_IsStreamWasFinished ( const CXzUnpacker * p)

◆ XzUnpacker_PrepareToRandomBlockDecoding()

void XzUnpacker_PrepareToRandomBlockDecoding ( CXzUnpacker * p)

◆ XzUnpacker_SetOutBuf()

void XzUnpacker_SetOutBuf ( CXzUnpacker * p,
Byte * outBuf,
size_t outBufSize )