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__))
165 #define MINIZ_NO_TIME
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)
259 #define MZ_DEFLATED 8
263 typedef void *(*mz_alloc_func)(
void *opaque,
size_t items,
size_t size);
265 typedef 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
316 struct 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)
564 #ifdef MINIZ_NO_STDIO
565 #define MZ_FILE void *
572 typedef 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
722 #if TDEFL_LESS_MEMORY
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
1044 #ifdef MINIZ_NO_TIME
1055 struct 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