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
24#ifndef LIBCLOD_COMPRESSION_H
25#define LIBCLOD_COMPRESSION_H
26
27#include <clod/lib.h>
28#include <stddef.h>
29
70
88
106
111struct clod_compressor;
112
117struct clod_decompressor;
118
126CLOD_API CLOD_USE_RETURN
128
134CLOD_API CLOD_NONNULL(1)
135void clod_compressor_free(struct clod_compressor *ctx);
136
155CLOD_API CLOD_NONNULL(1, 2, 4, 6)
157 struct clod_compressor *ctx,
158 void *dst, size_t dst_max_size,
159 const void *src, size_t src_size,
160 size_t *actual_size,
161 enum clod_compression_method method,
162 enum clod_compression_level level
163);
164
172CLOD_API CLOD_USE_RETURN
174
180CLOD_API CLOD_NONNULL(1)
182
215CLOD_API CLOD_NONNULL(1, 2, 4)
217 struct clod_decompressor *ctx,
218 void *dst, size_t dst_size,
219 const void *src, size_t src_size,
220 size_t *actual_size,
221 enum clod_compression_method method
222);
223
225#endif
void clod_compressor_free(struct clod_compressor *ctx)
Definition compress.c:37
struct clod_compressor * clod_compressor_init()
Definition compress.c:28
clod_compression_level
Definition compression.h:74
clod_compression_result
Definition compression.h:92
void clod_decompressor_free(struct clod_decompressor *ctx)
Definition decompress.c:28
struct clod_decompressor * clod_decompressor_init()
Definition decompress.c:19
clod_compression_method
Definition compression.h:36
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:49
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:51
@ 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
Definition compression.h:98
@ CLOD_COMPRESSION_SUCCESS
Definition compression.h:94
@ CLOD_COMPRESSION_INVALID
Definition compression.h:96
@ CLOD_COMPRESSION_SHORT_BUFFER
@ CLOD_GZIP
Definition compression.h:63
@ CLOD_UNCOMPRESSED
Definition compression.h:38
@ CLOD_ZSTD
Definition compression.h:43
@ CLOD_LZ4F
Definition compression.h:47
@ CLOD_XZ
Definition compression.h:51
@ CLOD_DEFLATE
Definition compression.h:55
@ CLOD_MINECRAFT_LZ4
Definition compression.h:68
@ CLOD_ZLIB
Definition compression.h:59