summaryrefslogtreecommitdiff
path: root/firmware/export/ucl_decompress.h
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/export/ucl_decompress.h')
-rw-r--r--firmware/export/ucl_decompress.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/firmware/export/ucl_decompress.h b/firmware/export/ucl_decompress.h
new file mode 100644
index 0000000000..bea7564a94
--- /dev/null
+++ b/firmware/export/ucl_decompress.h
@@ -0,0 +1,32 @@
1/* Standalone UCL decompressor and uclpack-compatible unpacker,
2 * adapted for Rockbox from the libucl code.
3 *
4 * Copyright (C) 1996-2002 Markus Franz Xaver Johannes Oberhumer
5 * All Rights Reserved.
6 *
7 * See firmware/common/ucl_decompress.c for full copyright notice
8 */
9#ifndef UCL_DECOMPRESS_H
10#define UCL_DECOMPRESS_H
11
12#include <stdint.h>
13#include <stdlib.h>
14
15#define UCL_E_OK 0
16#define UCL_E_INPUT_OVERRUN 1
17#define UCL_E_OUTPUT_OVERRUN 2
18#define UCL_E_LOOKBEHIND_OVERRUN 3
19#define UCL_E_INPUT_NOT_CONSUMED 4
20#define UCL_E_BAD_MAGIC 5
21#define UCL_E_BAD_BLOCK_SIZE 6
22#define UCL_E_UNSUPPORTED_METHOD 7
23#define UCL_E_TRUNCATED 8
24#define UCL_E_CORRUPTED 9
25
26extern int ucl_nrv2e_decompress_8(const uint8_t* src, uint32_t src_len,
27 uint8_t* dst, uint32_t* dst_len);
28
29extern int ucl_unpack(const uint8_t* src, uint32_t src_len,
30 uint8_t* dst, uint32_t* dst_len);
31
32#endif /* UCL_DECOMPRESS_H */