kolibrios-gitea/programs/fs/kfar/trunk/zlib/zutil.inc
IgorA 830c466a98 some fixes and optimize
git-svn-id: svn://kolibrios.org@6639 a494cfbc-eb01-0410-851d-a64ba20cac60
2016-10-31 09:19:36 +00:00

90 lines
1.9 KiB
PHP

; 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
sub ecx,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
}