libsqsh v1.5.2
Loading...
Searching...
No Matches
sqsh_extract_private.h File Reference
#include <cextras/collection.h>
#include <sqsh_data.h>
#include <sqsh_utils_private.h>
Include dependency graph for sqsh_extract_private.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  SqshExtractorImpl
 
struct  SqshExtractor
 The SqshExtractor struct is used to decompress data. More...
 
struct  SqshExtractManager
 Manages chunks of compressed areas from an archive. More...
 
struct  SqshExtractView
 A fiew into compressed memory managed by a SqshExtractManager. More...
 

Typedefs

typedef uint8_t sqsh__extractor_context_t[256]
 

Functions

SQSH_NO_EXPORT const struct SqshExtractorImplsqsh__extractor_impl_from_id (enum SqshSuperblockCompressionId id)
 
SQSH_NO_EXPORT SQSH_NO_UNUSED int sqsh__extractor_init (struct SqshExtractor *extractor, struct CxBuffer *buffer, const struct SqshExtractorImpl *impl, size_t block_size)
 
SQSH_NO_EXPORT SQSH_NO_UNUSED int sqsh__extractor_write (struct SqshExtractor *extractor, const uint8_t *compressed, const size_t compressed_size)
 
SQSH_NO_EXPORT int sqsh__extractor_finish (struct SqshExtractor *extractor)
 
SQSH_NO_EXPORT int sqsh__extractor_cleanup (struct SqshExtractor *extractor)
 
SQSH_NO_EXPORT SQSH_NO_UNUSED int sqsh__extract_manager_init (struct SqshExtractManager *manager, struct SqshArchive *archive, uint32_t block_size, size_t lru_size)
 
SQSH_NO_EXPORT int sqsh__extract_manager_uncompress (struct SqshExtractManager *manager, const struct SqshMapReader *reader, const struct CxBuffer **target)
 
SQSH_NO_EXPORT int sqsh__extract_manager_release (struct SqshExtractManager *manager, uint64_t address)
 
SQSH_NO_EXPORT int sqsh__extract_manager_cleanup (struct SqshExtractManager *manager)
 
SQSH_NO_EXPORT SQSH_NO_UNUSED int sqsh__extract_view_init (struct SqshExtractView *view, struct SqshExtractManager *manager, const struct SqshMapReader *reader)
 
SQSH_NO_EXPORT const uint8_t * sqsh__extract_view_data (const struct SqshExtractView *view)
 
SQSH_NO_EXPORT size_t sqsh__extract_view_size (const struct SqshExtractView *view)
 
SQSH_NO_EXPORT int sqsh__extract_view_cleanup (struct SqshExtractView *view)
 

Variables

const struct SqshExtractorImpl *const volatile sqsh__impl_lzo
 The implementation of the lzo extractor. This is NULL by default. If you want to use this, you need to link against libsqsh-lzo.
 
SQSH_NO_EXPORT const struct SqshExtractorImpl *const sqsh__impl_lz4
 The implementation of the lz4 extractor.
 
SQSH_NO_EXPORT const struct SqshExtractorImpl *const sqsh__impl_lzma
 The implementation of the lzma extractor.
 
SQSH_NO_EXPORT const struct SqshExtractorImpl *const sqsh__impl_xz
 The implementation of the xz extractor.
 
SQSH_NO_EXPORT const struct SqshExtractorImpl *const sqsh__impl_zlib
 The implementation of the zlib extractor.
 
SQSH_NO_EXPORT const struct SqshExtractorImpl *const sqsh__impl_zstd
 The implementation of the zstd extractor.
 

Detailed Description

Author
Enno Boland (mail@.nosp@m.ebol.nosp@m.and.d.nosp@m.e)

Definition in file sqsh_extract_private.h.

Typedef Documentation

◆ sqsh__extractor_context_t

typedef uint8_t sqsh__extractor_context_t[256]

Definition at line 57 of file sqsh_extract_private.h.

Function Documentation

◆ sqsh__extract_manager_cleanup()

SQSH_NO_EXPORT int sqsh__extract_manager_cleanup ( struct SqshExtractManager * manager)

◆ sqsh__extract_manager_init()

SQSH_NO_EXPORT SQSH_NO_UNUSED int sqsh__extract_manager_init ( struct SqshExtractManager * manager,
struct SqshArchive * archive,
uint32_t block_size,
size_t lru_size )

◆ sqsh__extract_manager_release()

SQSH_NO_EXPORT int sqsh__extract_manager_release ( struct SqshExtractManager * manager,
uint64_t address )

◆ sqsh__extract_manager_uncompress()

SQSH_NO_EXPORT int sqsh__extract_manager_uncompress ( struct SqshExtractManager * manager,
const struct SqshMapReader * reader,
const struct CxBuffer ** target )

◆ sqsh__extract_view_cleanup()

SQSH_NO_EXPORT int sqsh__extract_view_cleanup ( struct SqshExtractView * view)

◆ sqsh__extract_view_data()

SQSH_NO_EXPORT const uint8_t * sqsh__extract_view_data ( const struct SqshExtractView * view)

◆ sqsh__extract_view_init()

SQSH_NO_EXPORT SQSH_NO_UNUSED int sqsh__extract_view_init ( struct SqshExtractView * view,
struct SqshExtractManager * manager,
const struct SqshMapReader * reader )

◆ sqsh__extract_view_size()

SQSH_NO_EXPORT size_t sqsh__extract_view_size ( const struct SqshExtractView * view)

◆ sqsh__extractor_cleanup()

SQSH_NO_EXPORT int sqsh__extractor_cleanup ( struct SqshExtractor * extractor)

◆ sqsh__extractor_finish()

SQSH_NO_EXPORT int sqsh__extractor_finish ( struct SqshExtractor * extractor)

◆ sqsh__extractor_impl_from_id()

SQSH_NO_EXPORT const struct SqshExtractorImpl * sqsh__extractor_impl_from_id ( enum SqshSuperblockCompressionId id)

◆ sqsh__extractor_init()

SQSH_NO_EXPORT SQSH_NO_UNUSED int sqsh__extractor_init ( struct SqshExtractor * extractor,
struct CxBuffer * buffer,
const struct SqshExtractorImpl * impl,
size_t block_size )

◆ sqsh__extractor_write()

SQSH_NO_EXPORT SQSH_NO_UNUSED int sqsh__extractor_write ( struct SqshExtractor * extractor,
const uint8_t * compressed,
const size_t compressed_size )

Variable Documentation

◆ sqsh__impl_lz4

SQSH_NO_EXPORT const struct SqshExtractorImpl* const sqsh__impl_lz4
extern

The implementation of the lz4 extractor.

◆ sqsh__impl_lzma

SQSH_NO_EXPORT const struct SqshExtractorImpl* const sqsh__impl_lzma
extern

The implementation of the lzma extractor.

◆ sqsh__impl_lzo

const struct SqshExtractorImpl* const volatile sqsh__impl_lzo
extern

The implementation of the lzo extractor. This is NULL by default. If you want to use this, you need to link against libsqsh-lzo.

◆ sqsh__impl_xz

SQSH_NO_EXPORT const struct SqshExtractorImpl* const sqsh__impl_xz
extern

The implementation of the xz extractor.

◆ sqsh__impl_zlib

SQSH_NO_EXPORT const struct SqshExtractorImpl* const sqsh__impl_zlib
extern

The implementation of the zlib extractor.

◆ sqsh__impl_zstd

SQSH_NO_EXPORT const struct SqshExtractorImpl* const sqsh__impl_zstd
extern

The implementation of the zstd extractor.