115#include "miniz_export.h"
152#ifdef MINIZ_NO_INFLATE_APIS
153#define MINIZ_NO_ARCHIVE_APIS
156#ifdef MINIZ_NO_DEFLATE_APIS
157#define MINIZ_NO_ARCHIVE_WRITING_APIS
160#if defined(__TINYC__) && (defined(__linux) || defined(__linux__))
167#if !defined(MINIZ_NO_TIME) && !defined(MINIZ_NO_ARCHIVE_APIS)
171#if defined(_M_IX86) || defined(_M_X64) || defined(__i386__) || defined(__i386) || defined(__i486__) || defined(__i486) || defined(i386) || defined(__ia64__) || defined(__x86_64__)
173#define MINIZ_X86_OR_X64_CPU 1
175#define MINIZ_X86_OR_X64_CPU 0
179#if !defined(MINIZ_LITTLE_ENDIAN)
180#if defined(__BYTE_ORDER__) && defined(__ORDER_LITTLE_ENDIAN__)
182#if (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__)
184#define MINIZ_LITTLE_ENDIAN 1
186#define MINIZ_LITTLE_ENDIAN 0
191#if MINIZ_X86_OR_X64_CPU
192#define MINIZ_LITTLE_ENDIAN 1
194#define MINIZ_LITTLE_ENDIAN 0
201#if defined(__has_feature)
202#if __has_feature(undefined_behavior_sanitizer)
203#define MINIZ_USE_UNALIGNED_LOADS_AND_STORES 0
208#if !defined(MINIZ_USE_UNALIGNED_LOADS_AND_STORES)
209#if MINIZ_X86_OR_X64_CPU
211#define MINIZ_USE_UNALIGNED_LOADS_AND_STORES 0
212#define MINIZ_UNALIGNED_USE_MEMCPY
214#define MINIZ_USE_UNALIGNED_LOADS_AND_STORES 0
218#if defined(_M_X64) || defined(_WIN64) || defined(__MINGW64__) || defined(_LP64) || defined(__LP64__) || defined(__ia64__) || defined(__x86_64__)
220#define MINIZ_HAS_64BIT_REGISTERS 1
222#define MINIZ_HAS_64BIT_REGISTERS 0
238#define MZ_ADLER32_INIT (1)
242#define MZ_CRC32_INIT (0)
261 typedef void *(*mz_alloc_func)(
void *opaque,
size_t items,
size_t size);
263 typedef void *(*mz_realloc_func)(
void *opaque,
void *address,
size_t items,
size_t size);
276#define MZ_VERSION "11.0.2"
277#define MZ_VERNUM 0xB002
278#define MZ_VER_MAJOR 11
279#define MZ_VER_MINOR 2
280#define MZ_VER_REVISION 0
281#define MZ_VER_SUBREVISION 0
283#ifndef MINIZ_NO_ZLIB_APIS
312#define MZ_DEFAULT_WINDOW_BITS 15
314 struct mz_internal_state;
344#ifndef MINIZ_NO_DEFLATE_APIS
400#ifndef MINIZ_NO_INFLATE_APIS
442#ifndef MINIZ_NO_ZLIB_COMPATIBLE_NAMES
455#define Z_NO_FLUSH MZ_NO_FLUSH
456#define Z_PARTIAL_FLUSH MZ_PARTIAL_FLUSH
457#define Z_SYNC_FLUSH MZ_SYNC_FLUSH
458#define Z_FULL_FLUSH MZ_FULL_FLUSH
459#define Z_FINISH MZ_FINISH
460#define Z_BLOCK MZ_BLOCK
462#define Z_STREAM_END MZ_STREAM_END
463#define Z_NEED_DICT MZ_NEED_DICT
464#define Z_ERRNO MZ_ERRNO
465#define Z_STREAM_ERROR MZ_STREAM_ERROR
466#define Z_DATA_ERROR MZ_DATA_ERROR
467#define Z_MEM_ERROR MZ_MEM_ERROR
468#define Z_BUF_ERROR MZ_BUF_ERROR
469#define Z_VERSION_ERROR MZ_VERSION_ERROR
470#define Z_PARAM_ERROR MZ_PARAM_ERROR
471#define Z_NO_COMPRESSION MZ_NO_COMPRESSION
472#define Z_BEST_SPEED MZ_BEST_SPEED
473#define Z_BEST_COMPRESSION MZ_BEST_COMPRESSION
474#define Z_DEFAULT_COMPRESSION MZ_DEFAULT_COMPRESSION
475#define Z_DEFAULT_STRATEGY MZ_DEFAULT_STRATEGY
476#define Z_FILTERED MZ_FILTERED
477#define Z_HUFFMAN_ONLY MZ_HUFFMAN_ONLY
479#define Z_FIXED MZ_FIXED
480#define Z_DEFLATED MZ_DEFLATED
481#define Z_DEFAULT_WINDOW_BITS MZ_DEFAULT_WINDOW_BITS
483 typedef void *(*alloc_func)(
void *opaque,
size_t items,
size_t size);
487#define internal_state mz_internal_state
488#define z_stream mz_stream
490#ifndef MINIZ_NO_DEFLATE_APIS
492 static int deflateInit(
mz_streamp pStream,
int level)
496 static int deflateInit2(
mz_streamp pStream,
int level,
int method,
int window_bits,
int mem_level,
int strategy)
498 return mz_deflateInit2(pStream, level, method, window_bits, mem_level, strategy);
504 static int deflate(
mz_streamp pStream,
int flush)
516 static int compress(
unsigned char *pDest,
mz_ulong *pDest_len,
const unsigned char *pSource,
mz_ulong source_len)
518 return mz_compress(pDest, pDest_len, pSource, source_len);
520 static int compress2(
unsigned char *pDest,
mz_ulong *pDest_len,
const unsigned char *pSource,
mz_ulong source_len,
int level)
522 return mz_compress2(pDest, pDest_len, pSource, source_len, level);
530#ifndef MINIZ_NO_INFLATE_APIS
537 static int inflateInit2(
mz_streamp pStream,
int window_bits)
547 static int inflate(
mz_streamp pStream,
int flush)
557 static int uncompress(
unsigned char* pDest,
mz_ulong* pDest_len,
const unsigned char* pSource,
mz_ulong source_len)
562 static int uncompress2(
unsigned char* pDest,
mz_ulong* pDest_len,
const unsigned char* pSource,
mz_ulong* pSource_len)
568 static mz_ulong crc32(
mz_ulong crc,
const unsigned char *ptr,
size_t buf_len)
573 static mz_ulong adler32(
mz_ulong adler,
const unsigned char *ptr,
size_t buf_len)
579#define MAX_MEM_LEVEL 9
581 static const char* zError(
int err)
585#define ZLIB_VERSION MZ_VERSION
586#define ZLIB_VERNUM MZ_VERNUM
587#define ZLIB_VER_MAJOR MZ_VER_MAJOR
588#define ZLIB_VER_MINOR MZ_VER_MINOR
589#define ZLIB_VER_REVISION MZ_VER_REVISION
590#define ZLIB_VER_SUBREVISION MZ_VER_SUBREVISION
592#define zlibVersion mz_version
593#define zlib_version mz_version()
602#include "miniz_common.h"
603#include "miniz_tdef.h"
604#include "miniz_tinfl.h"
605#include "miniz_zip.h"
MINIZ_EXPORT int mz_inflateInit(mz_streamp pStream)
unsigned long mz_ulong
Definition miniz.h:233
MINIZ_EXPORT mz_ulong mz_compressBound(mz_ulong source_len)
void *(* mz_alloc_func)(void *opaque, size_t items, size_t size)
Definition miniz.h:261
MINIZ_EXPORT int mz_compress(unsigned char *pDest, mz_ulong *pDest_len, const unsigned char *pSource, mz_ulong source_len)
struct mz_stream_s mz_stream
MINIZ_EXPORT int mz_deflateInit2(mz_streamp pStream, int level, int method, int window_bits, int mem_level, int strategy)
MINIZ_EXPORT int mz_uncompress(unsigned char *pDest, mz_ulong *pDest_len, const unsigned char *pSource, mz_ulong source_len)
MINIZ_EXPORT int mz_compress2(unsigned char *pDest, mz_ulong *pDest_len, const unsigned char *pSource, mz_ulong source_len, int level)
MINIZ_EXPORT int mz_deflateEnd(mz_streamp pStream)
MINIZ_EXPORT const char * mz_error(int err)
MINIZ_EXPORT int mz_inflateEnd(mz_streamp pStream)
@ MZ_BEST_SPEED
Definition miniz.h:269
@ MZ_NO_COMPRESSION
Definition miniz.h:268
@ MZ_UBER_COMPRESSION
Definition miniz.h:271
@ MZ_DEFAULT_LEVEL
Definition miniz.h:272
@ MZ_BEST_COMPRESSION
Definition miniz.h:270
@ MZ_DEFAULT_COMPRESSION
Definition miniz.h:273
MINIZ_EXPORT mz_ulong mz_adler32(mz_ulong adler, const unsigned char *ptr, size_t buf_len)
@ MZ_SYNC_FLUSH
Definition miniz.h:290
@ MZ_BLOCK
Definition miniz.h:293
@ MZ_FULL_FLUSH
Definition miniz.h:291
@ MZ_FINISH
Definition miniz.h:292
@ MZ_PARTIAL_FLUSH
Definition miniz.h:289
@ MZ_NO_FLUSH
Definition miniz.h:288
MINIZ_EXPORT mz_ulong mz_crc32(mz_ulong crc, const unsigned char *ptr, size_t buf_len)
mz_ulong uLong
Definition miniz.h:445
MINIZ_EXPORT int mz_deflateInit(mz_streamp pStream, int level)
@ MZ_FILTERED
Definition miniz.h:250
@ MZ_FIXED
Definition miniz.h:253
@ MZ_DEFAULT_STRATEGY
Definition miniz.h:249
@ MZ_RLE
Definition miniz.h:252
@ MZ_HUFFMAN_ONLY
Definition miniz.h:251
int intf
Definition miniz.h:449
uInt uIntf
Definition miniz.h:447
char charf
Definition miniz.h:448
unsigned int uInt
Definition miniz.h:444
MINIZ_EXPORT int mz_inflate(mz_streamp pStream, int flush)
MINIZ_EXPORT mz_ulong mz_deflateBound(mz_streamp pStream, mz_ulong source_len)
MINIZ_EXPORT void mz_free(void *p)
MINIZ_EXPORT int mz_uncompress2(unsigned char *pDest, mz_ulong *pDest_len, const unsigned char *pSource, mz_ulong *pSource_len)
@ MZ_MEM_ERROR
Definition miniz.h:305
@ MZ_PARAM_ERROR
Definition miniz.h:308
@ MZ_NEED_DICT
Definition miniz.h:301
@ MZ_VERSION_ERROR
Definition miniz.h:307
@ MZ_STREAM_END
Definition miniz.h:300
@ MZ_ERRNO
Definition miniz.h:302
@ MZ_OK
Definition miniz.h:299
@ MZ_BUF_ERROR
Definition miniz.h:306
@ MZ_STREAM_ERROR
Definition miniz.h:303
@ MZ_DATA_ERROR
Definition miniz.h:304
MINIZ_EXPORT int mz_deflate(mz_streamp pStream, int flush)
void(* mz_free_func)(void *opaque, void *address)
Definition miniz.h:262
Byte Bytef
Definition miniz.h:446
void * voidpf
Definition miniz.h:450
MINIZ_EXPORT const char * mz_version(void)
uLong uLongf
Definition miniz.h:451
MINIZ_EXPORT int mz_inflateReset(mz_streamp pStream)
void(* free_func)(void *opaque, void *address)
Definition miniz.h:485
MINIZ_EXPORT int mz_inflateInit2(mz_streamp pStream, int window_bits)
unsigned char Byte
Definition miniz.h:443
mz_stream * mz_streamp
Definition miniz.h:339
MINIZ_EXPORT int mz_deflateReset(mz_streamp pStream)
void * voidp
Definition miniz.h:452
void *const voidpc
Definition miniz.h:453
mz_ulong adler
Definition miniz.h:335
unsigned char * next_out
Definition miniz.h:323
void * opaque
Definition miniz.h:332
int data_type
Definition miniz.h:334
mz_free_func zfree
Definition miniz.h:331
mz_ulong total_out
Definition miniz.h:325
unsigned int avail_out
Definition miniz.h:324
struct mz_internal_state * state
Definition miniz.h:328
const unsigned char * next_in
Definition miniz.h:319
unsigned int avail_in
Definition miniz.h:320
mz_alloc_func zalloc
Definition miniz.h:330
mz_ulong total_in
Definition miniz.h:321
char * msg
Definition miniz.h:327
mz_ulong reserved
Definition miniz.h:336