Parolin 0.7.9 6796
Console (soon DLLs) to do a tar like job
Loading...
Searching...
No Matches
lz4io.c File Reference
#include "platform.h"
#include "timefn.h"
#include "util.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <sys/types.h>
#include <sys/stat.h>
#include "lz4conf.h"
#include "lz4io.h"
#include "lz4.h"
#include "lz4hc.h"
#include "lz4frame.h"
#include "xxhash.h"
#include "threadpool.h"

Data Structures

struct  LZ4IO_prefs_s
 
struct  BufferDesc
 
struct  WriteRegister
 
struct  WriteJobDesc
 
struct  CompressJobDesc
 
struct  ReadTracker
 
struct  CompressLegacyState
 
struct  cRess_t
 
struct  LZ4IO_CfcParameters
 
struct  dRess_t
 
struct  LZ4IO_frameInfo_t
 
struct  LZ4IO_cFileInfo_t
 

Macros

#define LZ4F_STATIC_LINKING_ONLY
 
#define KB   *(1 <<10)
 
#define MB   *(1 <<20)
 
#define GB   *(1U<<30)
 
#define _1BIT   0x01
 
#define _2BITS   0x03
 
#define _3BITS   0x07
 
#define _4BITS   0x0F
 
#define _8BITS   0xFF
 
#define MAGICNUMBER_SIZE   4
 
#define LZ4IO_MAGICNUMBER   0x184D2204
 
#define LZ4IO_SKIPPABLE0   0x184D2A50
 
#define LZ4IO_SKIPPABLEMASK   0xFFFFFFF0
 
#define LEGACY_MAGICNUMBER   0x184C2102
 
#define CACHELINE   64
 
#define LEGACY_BLOCKSIZE   (8 MB)
 
#define MIN_STREAM_BUFSIZE   (192 KB)
 
#define LZ4IO_BLOCKSIZEID_DEFAULT   7
 
#define LZ4_MAX_DICT_SIZE   (64 KB)
 
#define MIN(a, b)
 
#define DISPLAY(...)
 
#define DISPLAYOUT(...)
 
#define DISPLAYLEVEL(l, ...)
 
#define DISPLAYUPDATE(l, ...)
 
#define DEBUG   0
 
#define DEBUGOUTPUT(...)
 
#define END_PROCESS(error, ...)
 
#define LZ4IO_STATIC_ASSERT(c)
 
#define WR_INITIAL_BUFFER_POOL_SIZE   16
 
#define LZ4IO_LEGACY_BLOCK_HEADER_SIZE   4
 
#define LZ4IO_LEGACY_BLOCK_SIZE_MAX   (8 MB)
 
#define FNSPACE   30
 
#define PTSIZE   (64 KB)
 
#define PTSIZET   (PTSIZE / sizeof(size_t))
 
#define SKIP_BUFF_SIZE   (16 KB)
 
#define ENDOFSTREAM   ((unsigned long long)-1)
 
#define DECODING_ERROR   ((unsigned long long)-2)
 
#define LZ4IO_INIT_FRAMEINFO   { LZ4F_INIT_FRAMEINFO, lz4Frame }
 
#define LZ4IO_INIT_CFILEINFO   { NULL, 0ULL, 0, LZ4IO_INIT_FRAMEINFO, 1, 1, 1 }
 

Typedefs

typedef size_t(* compress_f) (const void *parameters, void *dst, size_t dstCapacity, const void *src, size_t srcSize, size_t prefixSize)
 

Enumerations

enum  LZ4IO_frameType_t { lz4Frame = 0 , legacyFrame , skippableFrame }
 
enum  LZ4IO_infoResult { LZ4IO_LZ4F_OK , LZ4IO_format_not_known , LZ4IO_not_a_file }
 

Functions

int LZ4IO_defaultNbWorkers (void)
 
void LZ4IO_freePreferences (LZ4IO_prefs_t *prefs)
 
LZ4IO_prefs_tLZ4IO_defaultPreferences (void)
 
int LZ4IO_setNbWorkers (LZ4IO_prefs_t *const prefs, int nbWorkers)
 
int LZ4IO_setDictionaryFilename (LZ4IO_prefs_t *const prefs, const char *dictionaryFilename)
 
int LZ4IO_setPassThrough (LZ4IO_prefs_t *const prefs, int yes)
 
int LZ4IO_setOverwrite (LZ4IO_prefs_t *const prefs, int yes)
 
int LZ4IO_setTestMode (LZ4IO_prefs_t *const prefs, int yes)
 
size_t LZ4IO_setBlockSizeID (LZ4IO_prefs_t *const prefs, unsigned bsid)
 
size_t LZ4IO_setBlockSize (LZ4IO_prefs_t *const prefs, size_t blockSize)
 
int LZ4IO_setBlockMode (LZ4IO_prefs_t *const prefs, LZ4IO_blockMode_t blockMode)
 
int LZ4IO_setBlockChecksumMode (LZ4IO_prefs_t *const prefs, int enable)
 
int LZ4IO_setStreamChecksumMode (LZ4IO_prefs_t *const prefs, int enable)
 
int LZ4IO_setNotificationLevel (int level)
 
int LZ4IO_setSparseFile (LZ4IO_prefs_t *const prefs, int enable)
 
int LZ4IO_setContentSize (LZ4IO_prefs_t *const prefs, int enable)
 
void LZ4IO_favorDecSpeed (LZ4IO_prefs_t *const prefs, int favor)
 
void LZ4IO_setRemoveSrcFile (LZ4IO_prefs_t *const prefs, unsigned flag)
 
int LZ4IO_compressFilename_Legacy (const char *input_filename, const char *output_filename, int compressionlevel, const LZ4IO_prefs_t *prefs)
 
int LZ4IO_compressMultipleFilenames_Legacy (const char **inFileNamesTable, int ifntSize, const char *suffix, int compressionLevel, const LZ4IO_prefs_t *prefs)
 
int LZ4IO_compressFilename_extRess_MT (unsigned long long *inStreamSize, cRess_t *ress, const char *srcFileName, const char *dstFileName, int compressionLevel, const LZ4IO_prefs_t *const io_prefs)
 
int LZ4IO_compressFilename_extRess_ST (unsigned long long *inStreamSize, const cRess_t *ress, const char *srcFileName, const char *dstFileName, int compressionLevel, const LZ4IO_prefs_t *const io_prefs)
 
int LZ4IO_compressFilename (const char *srcFileName, const char *dstFileName, int compressionLevel, const LZ4IO_prefs_t *prefs)
 
int LZ4IO_compressMultipleFilenames (const char **inFileNamesTable, int ifntSize, const char *suffix, int compressionLevel, const LZ4IO_prefs_t *prefs)
 
int LZ4IO_decompressFilename (const char *input_filename, const char *output_filename, const LZ4IO_prefs_t *prefs)
 
int LZ4IO_decompressMultipleFilenames (const char **inFileNamesTable, int ifntSize, const char *suffix, const LZ4IO_prefs_t *prefs)
 
const char * LZ4IO_blockTypeID (LZ4F_blockSizeID_t sizeID, LZ4F_blockMode_t blockMode, char buffer[4])
 
int LZ4IO_displayCompressedFilesInfo (const char **inFileNames, size_t ifnIdx)
 

Macro Definition Documentation

◆ _1BIT

#define _1BIT   0x01

◆ _2BITS

#define _2BITS   0x03

◆ _3BITS

#define _3BITS   0x07

◆ _4BITS

#define _4BITS   0x0F

◆ _8BITS

#define _8BITS   0xFF

◆ CACHELINE

#define CACHELINE   64

◆ DEBUG

#define DEBUG   0

◆ DEBUGOUTPUT

#define DEBUGOUTPUT ( ...)
Value:
if (DEBUG) DISPLAY(__VA_ARGS__);
#define DISPLAY(...)
Definition lz4io.c:97
#define DEBUG
Definition lz4io.c:157

◆ DECODING_ERROR

#define DECODING_ERROR   ((unsigned long long)-2)

◆ DISPLAY

#define DISPLAY ( ...)
Value:
fprintf(stderr, __VA_ARGS__)

◆ DISPLAYLEVEL

#define DISPLAYLEVEL ( l,
... )
Value:
if (g_displayLevel>=l) { DISPLAY(__VA_ARGS__); if (g_displayLevel>=4) fflush(stderr); }

◆ DISPLAYOUT

#define DISPLAYOUT ( ...)
Value:
fprintf(stdout, __VA_ARGS__)

◆ DISPLAYUPDATE

#define DISPLAYUPDATE ( l,
... )
Value:
if (g_displayLevel>=l) { \
if ( (TIME_clockSpan_ns(g_time) > refreshRate) \
|| (g_displayLevel>=4) ) { \
g_time = TIME_getTime(); \
DISPLAY(__VA_ARGS__); \
if (g_displayLevel>=4) fflush(stderr); \
} }
TIME_t TIME_getTime(void)
Definition timefn.c:135
Duration_ns TIME_clockSpan_ns(TIME_t clockStart)
Definition timefn.c:153

◆ END_PROCESS

#define END_PROCESS ( error,
... )
Value:
{ \
DEBUGOUTPUT("Error in %s, line %i : \n", __FILE__, __LINE__); \
DISPLAYLEVEL(1, "Error %i : ", error); \
DISPLAYLEVEL(1, __VA_ARGS__); \
DISPLAYLEVEL(1, " \n"); \
fflush(NULL); \
exit(error); \
}
#define NULL
Definition getopt1.c:37
void error(char *msg) const
Definition minigzip.c:356

◆ ENDOFSTREAM

#define ENDOFSTREAM   ((unsigned long long)-1)

◆ FNSPACE

#define FNSPACE   30

◆ GB

#define GB   *(1U<<30)

◆ KB

#define KB   *(1 <<10)

◆ LEGACY_BLOCKSIZE

#define LEGACY_BLOCKSIZE   (8 MB)

◆ LEGACY_MAGICNUMBER

#define LEGACY_MAGICNUMBER   0x184C2102

◆ LZ4_MAX_DICT_SIZE

#define LZ4_MAX_DICT_SIZE   (64 KB)

◆ LZ4F_STATIC_LINKING_ONLY

#define LZ4F_STATIC_LINKING_ONLY

◆ LZ4IO_BLOCKSIZEID_DEFAULT

#define LZ4IO_BLOCKSIZEID_DEFAULT   7

◆ LZ4IO_INIT_CFILEINFO

#define LZ4IO_INIT_CFILEINFO   { NULL, 0ULL, 0, LZ4IO_INIT_FRAMEINFO, 1, 1, 1 }

◆ LZ4IO_INIT_FRAMEINFO

#define LZ4IO_INIT_FRAMEINFO   { LZ4F_INIT_FRAMEINFO, lz4Frame }

◆ LZ4IO_LEGACY_BLOCK_HEADER_SIZE

#define LZ4IO_LEGACY_BLOCK_HEADER_SIZE   4

◆ LZ4IO_LEGACY_BLOCK_SIZE_MAX

#define LZ4IO_LEGACY_BLOCK_SIZE_MAX   (8 MB)

◆ LZ4IO_MAGICNUMBER

#define LZ4IO_MAGICNUMBER   0x184D2204

◆ LZ4IO_SKIPPABLE0

#define LZ4IO_SKIPPABLE0   0x184D2A50

◆ LZ4IO_SKIPPABLEMASK

#define LZ4IO_SKIPPABLEMASK   0xFFFFFFF0

◆ LZ4IO_STATIC_ASSERT

#define LZ4IO_STATIC_ASSERT ( c)
Value:
{ enum { LZ4IO_static_assert = 1/(int)(!!(c)) }; } /* use after variable declarations */
int
Definition lzoconf.h:340
#define c(i)
Definition sha256.c:43

◆ MAGICNUMBER_SIZE

#define MAGICNUMBER_SIZE   4

◆ MB

#define MB   *(1 <<20)

◆ MIN

#define MIN ( a,
b )
Value:
((a)<(b)?(a):(b))
#define b(i)
Definition sha256.c:42
#define a(i)
Definition sha256.c:41

◆ MIN_STREAM_BUFSIZE

#define MIN_STREAM_BUFSIZE   (192 KB)

◆ PTSIZE

#define PTSIZE   (64 KB)

◆ PTSIZET

#define PTSIZET   (PTSIZE / sizeof(size_t))

◆ SKIP_BUFF_SIZE

#define SKIP_BUFF_SIZE   (16 KB)

◆ WR_INITIAL_BUFFER_POOL_SIZE

#define WR_INITIAL_BUFFER_POOL_SIZE   16

Typedef Documentation

◆ compress_f

typedef size_t(* compress_f) (const void *parameters, void *dst, size_t dstCapacity, const void *src, size_t srcSize, size_t prefixSize)

Enumeration Type Documentation

◆ LZ4IO_frameType_t

Enumerator
lz4Frame 
legacyFrame 
skippableFrame 

◆ LZ4IO_infoResult

Enumerator
LZ4IO_LZ4F_OK 
LZ4IO_format_not_known 
LZ4IO_not_a_file 

Function Documentation

◆ LZ4IO_blockTypeID()

const char * LZ4IO_blockTypeID ( LZ4F_blockSizeID_t sizeID,
LZ4F_blockMode_t blockMode,
char buffer[4] )

◆ LZ4IO_compressFilename()

int LZ4IO_compressFilename ( const char * srcFileName,
const char * dstFileName,
int compressionLevel,
const LZ4IO_prefs_t * prefs )

◆ LZ4IO_compressFilename_extRess_MT()

int LZ4IO_compressFilename_extRess_MT ( unsigned long long * inStreamSize,
cRess_t * ress,
const char * srcFileName,
const char * dstFileName,
int compressionLevel,
const LZ4IO_prefs_t *const io_prefs )

◆ LZ4IO_compressFilename_extRess_ST()

int LZ4IO_compressFilename_extRess_ST ( unsigned long long * inStreamSize,
const cRess_t * ress,
const char * srcFileName,
const char * dstFileName,
int compressionLevel,
const LZ4IO_prefs_t *const io_prefs )

◆ LZ4IO_compressFilename_Legacy()

int LZ4IO_compressFilename_Legacy ( const char * input_filename,
const char * output_filename,
int compressionlevel,
const LZ4IO_prefs_t * prefs )

◆ LZ4IO_compressMultipleFilenames()

int LZ4IO_compressMultipleFilenames ( const char ** inFileNamesTable,
int ifntSize,
const char * suffix,
int compressionLevel,
const LZ4IO_prefs_t * prefs )

◆ LZ4IO_compressMultipleFilenames_Legacy()

int LZ4IO_compressMultipleFilenames_Legacy ( const char ** inFileNamesTable,
int ifntSize,
const char * suffix,
int compressionLevel,
const LZ4IO_prefs_t * prefs )

◆ LZ4IO_decompressFilename()

int LZ4IO_decompressFilename ( const char * input_filename,
const char * output_filename,
const LZ4IO_prefs_t * prefs )

◆ LZ4IO_decompressMultipleFilenames()

int LZ4IO_decompressMultipleFilenames ( const char ** inFileNamesTable,
int ifntSize,
const char * suffix,
const LZ4IO_prefs_t * prefs )

◆ LZ4IO_defaultNbWorkers()

int LZ4IO_defaultNbWorkers ( void )

◆ LZ4IO_defaultPreferences()

LZ4IO_prefs_t * LZ4IO_defaultPreferences ( void )

◆ LZ4IO_displayCompressedFilesInfo()

int LZ4IO_displayCompressedFilesInfo ( const char ** inFileNames,
size_t ifnIdx )

◆ LZ4IO_favorDecSpeed()

void LZ4IO_favorDecSpeed ( LZ4IO_prefs_t *const prefs,
int favor )

◆ LZ4IO_freePreferences()

void LZ4IO_freePreferences ( LZ4IO_prefs_t * prefs)

◆ LZ4IO_setBlockChecksumMode()

int LZ4IO_setBlockChecksumMode ( LZ4IO_prefs_t *const prefs,
int enable )

◆ LZ4IO_setBlockMode()

int LZ4IO_setBlockMode ( LZ4IO_prefs_t *const prefs,
LZ4IO_blockMode_t blockMode )

◆ LZ4IO_setBlockSize()

size_t LZ4IO_setBlockSize ( LZ4IO_prefs_t *const prefs,
size_t blockSize )

◆ LZ4IO_setBlockSizeID()

size_t LZ4IO_setBlockSizeID ( LZ4IO_prefs_t *const prefs,
unsigned bsid )

◆ LZ4IO_setContentSize()

int LZ4IO_setContentSize ( LZ4IO_prefs_t *const prefs,
int enable )

◆ LZ4IO_setDictionaryFilename()

int LZ4IO_setDictionaryFilename ( LZ4IO_prefs_t *const prefs,
const char * dictionaryFilename )

◆ LZ4IO_setNbWorkers()

int LZ4IO_setNbWorkers ( LZ4IO_prefs_t *const prefs,
int nbWorkers )

◆ LZ4IO_setNotificationLevel()

int LZ4IO_setNotificationLevel ( int level)

◆ LZ4IO_setOverwrite()

int LZ4IO_setOverwrite ( LZ4IO_prefs_t *const prefs,
int yes )

◆ LZ4IO_setPassThrough()

int LZ4IO_setPassThrough ( LZ4IO_prefs_t *const prefs,
int yes )

◆ LZ4IO_setRemoveSrcFile()

void LZ4IO_setRemoveSrcFile ( LZ4IO_prefs_t *const prefs,
unsigned flag )

◆ LZ4IO_setSparseFile()

int LZ4IO_setSparseFile ( LZ4IO_prefs_t *const prefs,
int enable )

◆ LZ4IO_setStreamChecksumMode()

int LZ4IO_setStreamChecksumMode ( LZ4IO_prefs_t *const prefs,
int enable )

◆ LZ4IO_setTestMode()

int LZ4IO_setTestMode ( LZ4IO_prefs_t *const prefs,
int yes )