Parolin 0.7.9 6796
Console (soon DLLs) to do a tar like job
Loading...
Searching...
No Matches
zstdseek_decompress.c File Reference
#include <stdlib.h>
#include <stdio.h>
#include <limits.h>
#include <assert.h>
#include "xxhash.h"
#include "zstd.h"
#include "zstd_errors.h"
#include "mem.h"
#include "zstd_seekable.h"

Data Structures

struct  buffWrapper_t
 
struct  seekEntry_t
 
struct  ZSTD_seekTable_s
 
struct  ZSTD_seekable_s
 

Macros

#define _FILE_OFFSET_BITS   64 /* turn off_t into a 64-bit type for ftello, fseeko */
 
#define _LARGEFILE_SOURCE   1 /* Large File Support extension (LFS) - fseeko, ftello */
 
#define LONG_SEEK   fseek
 
#define XXH_STATIC_LINKING_ONLY
 
#define ZSTD_STATIC_LINKING_ONLY
 
#define ERROR(name)
 
#define CHECK_IO(f)
 
#define MIN(a, b)
 
#define MAX(a, b)
 
#define ZSTD_SEEKABLE_NO_OUTPUT_PROGRESS_MAX   16
 
#define SEEKABLE_BUFF_SIZE   ZSTD_BLOCKSIZE_MAX
 

Functions

ZSTD_seekableZSTD_seekable_create (void)
 
size_t ZSTD_seekable_free (ZSTD_seekable *zs)
 
ZSTD_seekTableZSTD_seekTable_create_fromSeekable (const ZSTD_seekable *zs)
 
size_t ZSTD_seekTable_free (ZSTD_seekTable *st)
 
unsigned ZSTD_seekable_offsetToFrameIndex (const ZSTD_seekable *zs, unsigned long long pos)
 
unsigned ZSTD_seekTable_offsetToFrameIndex (const ZSTD_seekTable *st, unsigned long long pos)
 
unsigned ZSTD_seekable_getNumFrames (const ZSTD_seekable *zs)
 
unsigned ZSTD_seekTable_getNumFrames (const ZSTD_seekTable *st)
 
unsigned long long ZSTD_seekable_getFrameCompressedOffset (const ZSTD_seekable *zs, unsigned frameIndex)
 
unsigned long long ZSTD_seekTable_getFrameCompressedOffset (const ZSTD_seekTable *st, unsigned frameIndex)
 
unsigned long long ZSTD_seekable_getFrameDecompressedOffset (const ZSTD_seekable *zs, unsigned frameIndex)
 
unsigned long long ZSTD_seekTable_getFrameDecompressedOffset (const ZSTD_seekTable *st, unsigned frameIndex)
 
size_t ZSTD_seekable_getFrameCompressedSize (const ZSTD_seekable *zs, unsigned frameIndex)
 
size_t ZSTD_seekTable_getFrameCompressedSize (const ZSTD_seekTable *st, unsigned frameIndex)
 
size_t ZSTD_seekable_getFrameDecompressedSize (const ZSTD_seekable *zs, unsigned frameIndex)
 
size_t ZSTD_seekTable_getFrameDecompressedSize (const ZSTD_seekTable *st, unsigned frameIndex)
 
size_t ZSTD_seekable_initBuff (ZSTD_seekable *zs, const void *src, size_t srcSize)
 
size_t ZSTD_seekable_initFile (ZSTD_seekable *zs, FILE *src)
 
size_t ZSTD_seekable_initAdvanced (ZSTD_seekable *zs, ZSTD_seekable_customFile src)
 
size_t ZSTD_seekable_decompress (ZSTD_seekable *zs, void *dst, size_t len, unsigned long long offset)
 
size_t ZSTD_seekable_decompressFrame (ZSTD_seekable *zs, void *dst, size_t dstSize, unsigned frameIndex)
 

Macro Definition Documentation

◆ _FILE_OFFSET_BITS

#define _FILE_OFFSET_BITS   64 /* turn off_t into a 64-bit type for ftello, fseeko */

◆ _LARGEFILE_SOURCE

#define _LARGEFILE_SOURCE   1 /* Large File Support extension (LFS) - fseeko, ftello */

◆ CHECK_IO

#define CHECK_IO ( f)
Value:
{ int const errcod = (f); if (errcod < 0) return ERROR(seekableIO); }
#define f(i)
Definition sha256.c:46
#define ERROR(name)
Definition zstdseek_decompress.c:72

◆ ERROR

#define ERROR ( name)
Value:
((size_t)-ZSTD_error_##name)
char name[NAME_LEN_MAX+1]
Name of the filter.
Definition string_conversion.c:450

◆ LONG_SEEK

#define LONG_SEEK   fseek

◆ MAX

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

◆ MIN

#define MIN ( a,
b )
Value:
((a) < (b) ? (a) : (b))

◆ SEEKABLE_BUFF_SIZE

#define SEEKABLE_BUFF_SIZE   ZSTD_BLOCKSIZE_MAX

◆ XXH_STATIC_LINKING_ONLY

#define XXH_STATIC_LINKING_ONLY

◆ ZSTD_SEEKABLE_NO_OUTPUT_PROGRESS_MAX

#define ZSTD_SEEKABLE_NO_OUTPUT_PROGRESS_MAX   16

◆ ZSTD_STATIC_LINKING_ONLY

#define ZSTD_STATIC_LINKING_ONLY

Function Documentation

◆ ZSTD_seekable_create()

ZSTD_seekable * ZSTD_seekable_create ( void )

◆ ZSTD_seekable_decompress()

size_t ZSTD_seekable_decompress ( ZSTD_seekable * zs,
void * dst,
size_t len,
unsigned long long offset )

◆ ZSTD_seekable_decompressFrame()

size_t ZSTD_seekable_decompressFrame ( ZSTD_seekable * zs,
void * dst,
size_t dstSize,
unsigned frameIndex )

◆ ZSTD_seekable_free()

size_t ZSTD_seekable_free ( ZSTD_seekable * zs)

◆ ZSTD_seekable_getFrameCompressedOffset()

unsigned long long ZSTD_seekable_getFrameCompressedOffset ( const ZSTD_seekable * zs,
unsigned frameIndex )

◆ ZSTD_seekable_getFrameCompressedSize()

size_t ZSTD_seekable_getFrameCompressedSize ( const ZSTD_seekable * zs,
unsigned frameIndex )

◆ ZSTD_seekable_getFrameDecompressedOffset()

unsigned long long ZSTD_seekable_getFrameDecompressedOffset ( const ZSTD_seekable * zs,
unsigned frameIndex )

◆ ZSTD_seekable_getFrameDecompressedSize()

size_t ZSTD_seekable_getFrameDecompressedSize ( const ZSTD_seekable * zs,
unsigned frameIndex )

◆ ZSTD_seekable_getNumFrames()

unsigned ZSTD_seekable_getNumFrames ( const ZSTD_seekable * zs)

◆ ZSTD_seekable_initAdvanced()

size_t ZSTD_seekable_initAdvanced ( ZSTD_seekable * zs,
ZSTD_seekable_customFile src )

◆ ZSTD_seekable_initBuff()

size_t ZSTD_seekable_initBuff ( ZSTD_seekable * zs,
const void * src,
size_t srcSize )

◆ ZSTD_seekable_initFile()

size_t ZSTD_seekable_initFile ( ZSTD_seekable * zs,
FILE * src )

◆ ZSTD_seekable_offsetToFrameIndex()

unsigned ZSTD_seekable_offsetToFrameIndex ( const ZSTD_seekable * zs,
unsigned long long pos )

ZSTD_seekable_offsetToFrameIndex() : Performs a binary search to find the last frame with a decompressed offset <= pos

Returns
: the frame's index

◆ ZSTD_seekTable_create_fromSeekable()

ZSTD_seekTable * ZSTD_seekTable_create_fromSeekable ( const ZSTD_seekable * zs)

◆ ZSTD_seekTable_free()

size_t ZSTD_seekTable_free ( ZSTD_seekTable * st)

◆ ZSTD_seekTable_getFrameCompressedOffset()

unsigned long long ZSTD_seekTable_getFrameCompressedOffset ( const ZSTD_seekTable * st,
unsigned frameIndex )

◆ ZSTD_seekTable_getFrameCompressedSize()

size_t ZSTD_seekTable_getFrameCompressedSize ( const ZSTD_seekTable * st,
unsigned frameIndex )

◆ ZSTD_seekTable_getFrameDecompressedOffset()

unsigned long long ZSTD_seekTable_getFrameDecompressedOffset ( const ZSTD_seekTable * st,
unsigned frameIndex )

◆ ZSTD_seekTable_getFrameDecompressedSize()

size_t ZSTD_seekTable_getFrameDecompressedSize ( const ZSTD_seekTable * st,
unsigned frameIndex )

◆ ZSTD_seekTable_getNumFrames()

unsigned ZSTD_seekTable_getNumFrames ( const ZSTD_seekTable * st)

◆ ZSTD_seekTable_offsetToFrameIndex()

unsigned ZSTD_seekTable_offsetToFrameIndex ( const ZSTD_seekTable * st,
unsigned long long pos )