libclod
C library for interacting with NBTs, region files, LOD data and other things.
Loading...
Searching...
No Matches
compression.h File Reference
#include <clod/lib.h>
#include <stddef.h>

Go to the source code of this file.

Enumerations

enum  clod_compression_method {
  CLOD_UNCOMPRESSED = 1 , CLOD_GZIP = 2 , CLOD_ZLIB = 3 , CLOD_DEFLATE = 4 ,
  CLOD_LZ4F = 5 , CLOD_XZ = 6 , CLOD_ZSTD = 7 , CLOD_BZIP2 = 8 ,
  CLOD_MINECRAFT_LZ4 = 10
}
enum  clod_compression_level {
  CLOD_COMPRESSION_LOWEST = 0 , CLOD_COMPRESSION_LOW = 1 , CLOD_COMPRESSION_NORMAL = 2 , CLOD_COMPRESSION_HIGH = 3 ,
  CLOD_COMPRESSION_HIGHEST = 4 , CLOD_COMPRESSION_LEVELS
}
enum  clod_compression_result {
  CLOD_COMPRESSION_SUCCESS = 0 , CLOD_COMPRESSION_UNSUPPORTED = 1 , CLOD_COMPRESSION_MALFORMED = 2 , CLOD_COMPRESSION_SHORT_BUFFER = 3 ,
  CLOD_COMPRESSION_SHORT_OUTPUT = 4 , CLOD_COMPRESSION_ALLOC_FAILED = 5
}

Functions

bool clod_compression_support (enum clod_compression_method method)
struct clod_compressorclod_compressor_init ()
void clod_compressor_free (struct clod_compressor *ctx)
enum clod_compression_result clod_compress (struct clod_compressor *ctx, void *dst, size_t dst_max_size, const void *src, size_t src_size, size_t *actual_size, enum clod_compression_method method, enum clod_compression_level level)
struct clod_decompressorclod_decompressor_init ()
void clod_decompressor_free (struct clod_decompressor *ctx)
enum clod_compression_result clod_decompress (struct clod_decompressor *ctx, void *dst, size_t dst_size, const void *src, size_t src_size, size_t *actual_size, enum clod_compression_method method)