libclod
C library for interacting with NBTs, region files, LOD data and other things.
Loading...
Searching...
No Matches
compression.h
Go to the documentation of this file.
1
16#ifndef CLOD_COMPRESSION_H
17#define CLOD_COMPRESSION_H
18
19#include <clod/lib.h>
20#include <stddef.h>
21
70
88
94CLOD_API CLOD_CONST
96
114
119struct clod_compressor;
120
125struct clod_decompressor;
126
134CLOD_API CLOD_USE_RETURN
136
142CLOD_API CLOD_NONNULL(1)
143void clod_compressor_free(struct clod_compressor *ctx);
144
163CLOD_API CLOD_NONNULL(1, 2, 4, 6)
165 struct clod_compressor *ctx,
166 void *dst, size_t dst_max_size,
167 const void *src, size_t src_size,
168 size_t *actual_size,
169 enum clod_compression_method method,
170 enum clod_compression_level level
171);
172
180CLOD_API CLOD_USE_RETURN
182
188CLOD_API CLOD_NONNULL(1)
190
223CLOD_API CLOD_NONNULL(1, 2, 4)
225 struct clod_decompressor *ctx,
226 void *dst, size_t dst_size,
227 const void *src, size_t src_size,
228 size_t *actual_size,
229 enum clod_compression_method method
230);
231
235
236#endif
void clod_compressor_free(struct clod_compressor *ctx)
Definition compress.c:73
struct clod_compressor * clod_compressor_init()
Definition compress.c:64
clod_compression_level
Definition compression.h:74
clod_compression_result
bool clod_compression_support(enum clod_compression_method method)
Definition compression.c:4
void clod_decompressor_free(struct clod_decompressor *ctx)
Definition decompress.c:52
struct clod_decompressor * clod_decompressor_init()
Definition decompress.c:43
clod_compression_method
Definition compression.h:32
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)
Definition compress.c:89
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)
Definition decompress.c:95
@ CLOD_COMPRESSION_HIGH
Definition compression.h:82
@ CLOD_COMPRESSION_NORMAL
Definition compression.h:80
@ CLOD_COMPRESSION_LOW
Definition compression.h:78
@ CLOD_COMPRESSION_LOWEST
Definition compression.h:76
@ CLOD_COMPRESSION_HIGHEST
Definition compression.h:84
@ CLOD_COMPRESSION_LEVELS
Definition compression.h:86
@ CLOD_COMPRESSION_ALLOC_FAILED
@ CLOD_COMPRESSION_SHORT_OUTPUT
@ CLOD_COMPRESSION_MALFORMED
@ CLOD_COMPRESSION_UNSUPPORTED
@ CLOD_COMPRESSION_SUCCESS
@ CLOD_COMPRESSION_SHORT_BUFFER
@ CLOD_GZIP
Definition compression.h:38
@ CLOD_UNCOMPRESSED
Definition compression.h:34
@ CLOD_BZIP2
Definition compression.h:63
@ CLOD_ZSTD
Definition compression.h:59
@ CLOD_LZ4F
Definition compression.h:50
@ CLOD_XZ
Definition compression.h:54
@ CLOD_DEFLATE
Definition compression.h:46
@ CLOD_MINECRAFT_LZ4
Definition compression.h:68
@ CLOD_ZLIB
Definition compression.h:42