155#ifdef MINIZ_NO_INFLATE_APIS
156#define MINIZ_NO_ARCHIVE_APIS
159#ifdef MINIZ_NO_DEFLATE_APIS
160#define MINIZ_NO_ARCHIVE_WRITING_APIS
163#if defined(__TINYC__) && (defined(__linux) || defined(__linux__))
170#if !defined(MINIZ_NO_TIME) && !defined(MINIZ_NO_ARCHIVE_APIS)
174#if defined(_M_IX86) || defined(_M_X64) || defined(__i386__) || defined(__i386) || defined(__i486__) || defined(__i486) || defined(i386) || defined(__ia64__) || defined(__x86_64__)
176#define MINIZ_X86_OR_X64_CPU 1
178#define MINIZ_X86_OR_X64_CPU 0
182#if !defined(MINIZ_LITTLE_ENDIAN)
183#if defined(__BYTE_ORDER__) && defined(__ORDER_LITTLE_ENDIAN__)
185#if (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__)
187#define MINIZ_LITTLE_ENDIAN 1
189#define MINIZ_LITTLE_ENDIAN 0
194#if MINIZ_X86_OR_X64_CPU
195#define MINIZ_LITTLE_ENDIAN 1
197#define MINIZ_LITTLE_ENDIAN 0
204#if defined(__has_feature)
205#if __has_feature(undefined_behavior_sanitizer)
206#define MINIZ_USE_UNALIGNED_LOADS_AND_STORES 0
211#if !defined(MINIZ_USE_UNALIGNED_LOADS_AND_STORES)
212#if MINIZ_X86_OR_X64_CPU
214#define MINIZ_USE_UNALIGNED_LOADS_AND_STORES 0
215#define MINIZ_UNALIGNED_USE_MEMCPY
217#define MINIZ_USE_UNALIGNED_LOADS_AND_STORES 0
221#if defined(_M_X64) || defined(_WIN64) || defined(__MINGW64__) || defined(_LP64) || defined(__LP64__) || defined(__ia64__) || defined(__x86_64__)
223#define MINIZ_HAS_64BIT_REGISTERS 1
225#define MINIZ_HAS_64BIT_REGISTERS 0
240#define MZ_ADLER32_INIT (1)
244#define MZ_CRC32_INIT (0)
263typedef void *(*mz_alloc_func)(
void *opaque,
size_t items,
size_t size);
265typedef void *(*mz_realloc_func)(
void *opaque,
void *address,
size_t items,
size_t size);
278#define MZ_VERSION "11.0.2"
279#define MZ_VERNUM 0xB002
280#define MZ_VER_MAJOR 11
281#define MZ_VER_MINOR 2
282#define MZ_VER_REVISION 0
283#define MZ_VER_SUBREVISION 0
285#ifndef MINIZ_NO_ZLIB_APIS
314#define MZ_DEFAULT_WINDOW_BITS 15
316struct mz_internal_state;
346#ifndef MINIZ_NO_DEFLATE_APIS
402#ifndef MINIZ_NO_INFLATE_APIS
444#ifndef MINIZ_NO_ZLIB_COMPATIBLE_NAMES
457#define Z_NO_FLUSH MZ_NO_FLUSH
458#define Z_PARTIAL_FLUSH MZ_PARTIAL_FLUSH
459#define Z_SYNC_FLUSH MZ_SYNC_FLUSH
460#define Z_FULL_FLUSH MZ_FULL_FLUSH
461#define Z_FINISH MZ_FINISH
462#define Z_BLOCK MZ_BLOCK
464#define Z_STREAM_END MZ_STREAM_END
465#define Z_NEED_DICT MZ_NEED_DICT
466#define Z_ERRNO MZ_ERRNO
467#define Z_STREAM_ERROR MZ_STREAM_ERROR
468#define Z_DATA_ERROR MZ_DATA_ERROR
469#define Z_MEM_ERROR MZ_MEM_ERROR
470#define Z_BUF_ERROR MZ_BUF_ERROR
471#define Z_VERSION_ERROR MZ_VERSION_ERROR
472#define Z_PARAM_ERROR MZ_PARAM_ERROR
473#define Z_NO_COMPRESSION MZ_NO_COMPRESSION
474#define Z_BEST_SPEED MZ_BEST_SPEED
475#define Z_BEST_COMPRESSION MZ_BEST_COMPRESSION
476#define Z_DEFAULT_COMPRESSION MZ_DEFAULT_COMPRESSION
477#define Z_DEFAULT_STRATEGY MZ_DEFAULT_STRATEGY
478#define Z_FILTERED MZ_FILTERED
479#define Z_HUFFMAN_ONLY MZ_HUFFMAN_ONLY
481#define Z_FIXED MZ_FIXED
482#define Z_DEFLATED MZ_DEFLATED
483#define Z_DEFAULT_WINDOW_BITS MZ_DEFAULT_WINDOW_BITS
484#define alloc_func mz_alloc_func
485#define free_func mz_free_func
486#define internal_state mz_internal_state
487#define z_stream mz_stream
489#ifndef MINIZ_NO_DEFLATE_APIS
490#define deflateInit mz_deflateInit
491#define deflateInit2 mz_deflateInit2
492#define deflateReset mz_deflateReset
493#define deflate mz_deflate
494#define deflateEnd mz_deflateEnd
495#define deflateBound mz_deflateBound
496#define compress mz_compress
497#define compress2 mz_compress2
498#define compressBound mz_compressBound
501#ifndef MINIZ_NO_INFLATE_APIS
502#define inflateInit mz_inflateInit
503#define inflateInit2 mz_inflateInit2
504#define inflateReset mz_inflateReset
505#define inflate mz_inflate
506#define inflateEnd mz_inflateEnd
507#define uncompress mz_uncompress
508#define uncompress2 mz_uncompress2
511#define crc32 mz_crc32
512#define adler32 mz_adler32
514#define MAX_MEM_LEVEL 9
515#define zError mz_error
516#define ZLIB_VERSION MZ_VERSION
517#define ZLIB_VERNUM MZ_VERNUM
518#define ZLIB_VER_MAJOR MZ_VER_MAJOR
519#define ZLIB_VER_MINOR MZ_VER_MINOR
520#define ZLIB_VER_REVISION MZ_VER_REVISION
521#define ZLIB_VER_SUBREVISION MZ_VER_SUBREVISION
522#define zlibVersion mz_version
523#define zlib_version mz_version()
559#define MZ_MACRO_END while (0, 0)
561#define MZ_MACRO_END while (0)
565#define MZ_FILE void *
572typedef struct mz_dummy_time_t_tag
577#define MZ_TIME_T mz_dummy_time_t
579#define MZ_TIME_T time_t
582#define MZ_ASSERT(x) assert(x)
584#ifdef MINIZ_NO_MALLOC
585#define MZ_MALLOC(x) NULL
586#define MZ_FREE(x) (void)x, ((void)0)
587#define MZ_REALLOC(p, x) NULL
589#define MZ_MALLOC(x) malloc(x)
590#define MZ_FREE(x) free(x)
591#define MZ_REALLOC(p, x) realloc(p, x)
594#define MZ_MAX(a, b) (((a) > (b)) ? (a) : (b))
595#define MZ_MIN(a, b) (((a) < (b)) ? (a) : (b))
596#define MZ_CLEAR_OBJ(obj) memset(&(obj), 0, sizeof(obj))
597#define MZ_CLEAR_ARR(obj) memset((obj), 0, sizeof(obj))
598#define MZ_CLEAR_PTR(obj) memset((obj), 0, sizeof(*obj))
600#if MINIZ_USE_UNALIGNED_LOADS_AND_STORES && MINIZ_LITTLE_ENDIAN
601#define MZ_READ_LE16(p) *((const mz_uint16 *)(p))
602#define MZ_READ_LE32(p) *((const mz_uint32 *)(p))
604#define MZ_READ_LE16(p) ((mz_uint32)(((const mz_uint8 *)(p))[0]) | ((mz_uint32)(((const mz_uint8 *)(p))[1]) << 8U))
605#define MZ_READ_LE32(p) ((mz_uint32)(((const mz_uint8 *)(p))[0]) | ((mz_uint32)(((const mz_uint8 *)(p))[1]) << 8U) | ((mz_uint32)(((const mz_uint8 *)(p))[2]) << 16U) | ((mz_uint32)(((const mz_uint8 *)(p))[3]) << 24U))
608#define MZ_READ_LE64(p) (((mz_uint64)MZ_READ_LE32(p)) | (((mz_uint64)MZ_READ_LE32((const mz_uint8 *)(p) + sizeof(mz_uint32))) << 32U))
611#define MZ_FORCEINLINE __forceinline
612#elif defined(__GNUC__)
613#define MZ_FORCEINLINE __inline__ __attribute__((__always_inline__))
615#define MZ_FORCEINLINE inline
626#define MZ_UINT16_MAX (0xFFFFU)
627#define MZ_UINT32_MAX (0xFFFFFFFFU)
635#ifndef MINIZ_NO_DEFLATE_APIS
643#define TDEFL_LESS_MEMORY 0
772 mz_uint m_saved_match_dist, m_saved_match_len, m_saved_lit, m_output_flush_ofs, m_output_flush_remaining, m_finished,
m_block_index, m_wants_to_finish;
813#ifndef MINIZ_NO_MALLOC
830#ifndef MINIZ_NO_INFLATE_APIS
860#define TINFL_DECOMPRESS_MEM_TO_MEM_FAILED ((size_t)(-1))
871#ifndef MINIZ_NO_MALLOC
880#define TINFL_LZ_DICT_SIZE 32768
917#define tinfl_init(r) \
923#define tinfl_get_adler32(r) (r)->m_check_adler32
940#if MINIZ_HAS_64BIT_REGISTERS
941#define TINFL_USE_64BIT_BITBUF 1
943#define TINFL_USE_64BIT_BITBUF 0
946#if TINFL_USE_64BIT_BITBUF
948#define TINFL_BITBUF_SIZE (64)
951#define TINFL_BITBUF_SIZE (32)
956 mz_uint32 m_state,
m_num_bits,
m_zhdr0,
m_zhdr1,
m_z_adler32,
m_final,
m_type,
m_check_adler32,
m_dist,
m_counter,
m_num_extra,
m_table_sizes[
TINFL_MAX_HUFF_TABLES];
980#ifndef MINIZ_NO_ARCHIVE_APIS
1055struct mz_zip_internal_state_tag;
1170#ifdef MINIZ_DISABLE_ZIP_READER_CRC32_CHECKS
1186#ifndef MINIZ_NO_STDIO
1284#ifndef MINIZ_NO_STDIO
1297 typedef void *mz_zip_streaming_extract_state_ptr;
1300 mz_uint64 mz_zip_streaming_extract_get_cur_ofs(
mz_zip_archive *pZip, mz_zip_streaming_extract_state_ptr pState);
1302 size_t mz_zip_streaming_extract_read(
mz_zip_archive *pZip, mz_zip_streaming_extract_state_ptr pState,
void *pBuf,
size_t buf_size);
1303 mz_bool mz_zip_streaming_extract_end(
mz_zip_archive *pZip, mz_zip_streaming_extract_state_ptr pState);
1315#ifndef MINIZ_NO_STDIO
1324#ifndef MINIZ_NO_ARCHIVE_WRITING_APIS
1335#ifndef MINIZ_NO_STDIO
1362 const char *user_extra_data_central,
mz_uint user_extra_data_central_len);
1367 const MZ_TIME_T *pFile_time,
const void *pComment,
mz_uint16 comment_size,
mz_uint level_and_flags,
const char *user_extra_data_local,
mz_uint user_extra_data_local_len,
1368 const char *user_extra_data_central,
mz_uint user_extra_data_central_len);
1371#ifndef MINIZ_NO_STDIO
1378 const MZ_TIME_T *pFile_time,
const void *pComment,
mz_uint16 comment_size,
mz_uint level_and_flags,
const char *user_extra_data_local,
mz_uint user_extra_data_local_len,
1379 const char *user_extra_data_central,
mz_uint user_extra_data_central_len);
1408#ifndef MINIZ_NO_STDIO