0,0 → 1,88 |
; zutil.inc -- internal interface and configuration of the compression library |
; Copyright (C) 1995-2013 Jean-loup Gailly. |
; For conditions of distribution and use, see copyright notice in zlib.inc |
|
; WARNING: this file should *not* be used by applications. It is |
; part of the implementation of the compression library and is |
; subject to change. Applications should only use zlib.inc. |
|
|
macro ERR_MSG err |
{ |
mov ecx,Z_NEED_DICT-err |
mov ecx,[4*ecx+z_errmsg] |
} |
|
macro ERR_RETURN strm,err |
{ |
ERR_MSG err |
mov [strm+z_stream.msg],ecx |
mov eax,err |
} |
; To be used only when the state is known to be valid |
|
; /* common constants */ |
|
;#ifndef DEF_WBITS |
;# define DEF_WBITS MAX_WBITS |
;end if |
; default windowBits for decompression. MAX_WBITS is for compression only |
|
;#if MAX_MEM_LEVEL >= 8 |
DEF_MEM_LEVEL equ 8 |
;#else |
;# define DEF_MEM_LEVEL MAX_MEM_LEVEL |
;end if |
; default memLevel |
|
STORED_BLOCK equ 0 |
STATIC_TREES equ 1 |
DYN_TREES equ 2 |
; The three kinds of block type |
|
MIN_MATCH equ 3 |
MAX_MATCH equ 258 |
; The minimum and maximum match lengths |
|
PRESET_DICT equ 0x20 ;preset dictionary flag in zlib header |
|
; /* common defaults */ |
|
OS_CODE equ 0x03 ;assume Unix |
|
; /* functions */ |
|
; Diagnostic functions |
;if DEBUG eq 1 |
;# define Trace(x) {if (z_verbose>=0) fprintf x ;} |
;# define Tracev(x) {if (z_verbose>0) fprintf x ;} |
macro Tracevv mes1, mes2 |
{ |
;zlib_debug 'Tracevv = %d', mes1 |
} |
;# define Tracec(c,x) {if (z_verbose>0 && (c)) fprintf x ;} |
;# define Tracecv(c,x) {if (z_verbose>1 && (c)) fprintf x ;} |
;end if |
|
macro ZALLOC strm, items, size |
{ |
stdcall dword[strm+z_stream.zalloc], [strm+z_stream.opaque], items, size |
} |
macro ZFREE strm, p2addr |
{ |
stdcall dword[strm+z_stream.zfree], dword[strm+z_stream.opaque], p2addr |
} |
macro TRY_FREE s, p |
{ |
local .end0 |
cmp p,0 |
je .end0 |
ZFREE s, p |
.end0: |
} |
|
; Reverse the bytes in a 32-bit value |
macro ZSWAP32 q |
{ |
bswap q |
} |