12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- #ifndef SPRESS_HEADER
- #define SPRESS_HEADER
- #define SPRESS_DEBUG (0)
- #include <string.h>
- #include <stdint.h>
- typedef uint32_t size_t;
- typedef struct spress_header {
- uint16_t magic;
- uint8_t major_version;
- uint8_t minor_version;
- uint8_t file_hdr_sz;
- uint8_t chunk_hdr_sz;
- uint16_t chunk_sz;
- uint32_t compress_sz;
- uint32_t decompress_sz;
- } spress_header_t;
- #define SPRESS_HEADER_MAGIC 0xed2b
- #define SPRESS_BLK_SIZE sizeof(uint32_t)
- #define SPRESS_BLK_MIN 2
- #define SPRESS_BLK_MAX 128
- #define CHUNK_TYPE_RAW 0x0
- #define CHUNK_TYPE_FILL 0x1
- #define CHUNK_TYPE_MASK 0x1
- typedef struct chunk_header {
- uint8_t data_sz;
- } chunk_header_t;
- size_t spr_size_decompressed(const char* source);
- size_t spr_size_compressed(const char* source);
- size_t spr_compress(const char* source, char* destination, size_t size);
- size_t spr_decompress(const char* source, char* destination);
- size_t spr_compress_index(const char* source, char* destination, size_t size);
- size_t spr_compress_data(const char* source, char* destination, size_t size);
- #endif
|