123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183 |
- {
- $Id$
- }
- unit zlib;
- interface
- { Needed for array of const }
- {$mode objfpc}
- { for linux for linking with libc }
- {$ifdef linux}
- {$linklib c}
- {$endif}
- {$PACKRECORDS 4}
- const
- ZLIB_VERSION = '1.1.3';
- libz='z';
- type
- { Compatible with paszlib }
- Uint = Longint;
- Ulong = Longint;
- Ulongf = Longint;
- Pulongf = ^Ulongf;
- z_off_t = longint;
- pbyte = ^byte;
- pbytef = ^byte;
- TAllocfunc = function (opaque:pointer; items:uInt; size:uInt):pointer;cdecl;
- TFreeFunc = procedure (opaque:pointer; address:pointer);cdecl;
- TInternalState = record
- end;
- PInternalState = ^TInternalstate;
- TZStream = record
- next_in : pbytef;
- avail_in : uInt;
- total_in : uLong;
- next_out : pbytef;
- avail_out : uInt;
- total_out : uLong;
- msg : pbytef;
- state : PInternalState;
- zalloc : TAllocFunc;
- zfree : TFreeFunc;
- opaque : pointer;
- data_type : longint;
- adler : uLong;
- reserved : uLong;
- end;
- PZstream = ^TZStream;
- gzFile = pointer;
- const
- Z_NO_FLUSH = 0;
- Z_PARTIAL_FLUSH = 1;
- Z_SYNC_FLUSH = 2;
- Z_FULL_FLUSH = 3;
- Z_FINISH = 4;
- Z_OK = 0;
- Z_STREAM_END = 1;
- Z_NEED_DICT = 2;
- Z_ERRNO = -(1);
- Z_STREAM_ERROR = -(2);
- Z_DATA_ERROR = -(3);
- Z_MEM_ERROR = -(4);
- Z_BUF_ERROR = -(5);
- Z_VERSION_ERROR = -(6);
- Z_NO_COMPRESSION = 0;
- Z_BEST_SPEED = 1;
- Z_BEST_COMPRESSION = 9;
- Z_DEFAULT_COMPRESSION = -(1);
- Z_FILTERED = 1;
- Z_HUFFMAN_ONLY = 2;
- Z_DEFAULT_STRATEGY = 0;
- Z_BINARY = 0;
- Z_ASCII = 1;
- Z_UNKNOWN = 2;
- Z_DEFLATED = 8;
- Z_NULL = 0;
- function zlibVersionpchar:pchar;cdecl;external libz name 'zlibVersion';
- function zlibVersion:string;
- function deflate(var strm:TZStream; flush:longint):longint;cdecl;external libz name 'deflate';
- function deflateEnd(var strm:TZStream):longint;cdecl;external libz name 'deflateEnd';
- function inflate(var strm:TZStream; flush:longint):longint;cdecl;external libz name 'inflate';
- function inflateEnd(var strm:TZStream):longint;cdecl;external libz name 'inflateEnd';
- function deflateSetDictionary(var strm:TZStream;dictionary : pbytef; dictLength:uInt):longint;cdecl;external libz name 'deflateSetDictionary';
- function deflateCopy(var dest,source:TZstream):longint;cdecl;external libz name 'deflateCopy';
- function deflateReset(var strm:TZStream):longint;cdecl;external libz name 'deflateReset';
- function deflateParams(var strm:TZStream; level:longint; strategy:longint):longint;cdecl;external libz name 'deflateParams';
- function inflateSetDictionary(var strm:TZStream;dictionary : pbytef; dictLength:uInt):longint;cdecl;external libz name 'inflateSetDictionary';
- function inflateSync(var strm:TZStream):longint;cdecl;external libz name 'inflateSync';
- function inflateReset(var strm:TZStream):longint;cdecl;external libz name 'inflateReset';
- function compress(dest:pbytef;destLen:uLongf; source : pbytef; sourceLen:uLong):longint;cdecl;external libz name 'compress';
- function compress2(dest:pbytef;destLen:uLongf; source : pbytef; sourceLen:uLong; level:longint):longint;cdecl;external libz name 'compress2';
- function uncompress(dest:pbytef;destLen:uLongf; source : pbytef; sourceLen:uLong):longint;cdecl;external libz name 'uncompress';
- function gzopen(path:pchar; mode:pchar):gzFile;cdecl;external libz name 'gzopen';
- function gzdopen(fd:longint; mode:pchar):gzFile;cdecl;external libz name 'gzdopen';
- function gzsetparams(thefile:gzFile; level:longint; strategy:longint):longint;cdecl;external libz name 'gzsetparams';
- function gzread(thefile:gzFile; buf:pointer; len:cardinal):longint;cdecl;external libz name 'gzread';
- function gzwrite(thefile:gzFile; buf:pointer; len:cardinal):longint;cdecl;external libz name 'gzwrite';
- function gzprintf(thefile:gzFile; format:pbytef; args:array of const):longint;cdecl;external libz name 'gzprintf';
- function gzputs(thefile:gzFile; s:pbytef):longint;cdecl;external libz name 'gzputs';
- function gzgets(thefile:gzFile; buf:pbytef; len:longint):pbytef;cdecl;external libz name 'gzgets';
- function gzputc(thefile:gzFile; c:char):char;cdecl;external libz name 'gzputc';
- function gzgetc(thefile:gzFile):char;cdecl;external libz name 'gzgetc';
- function gzflush(thefile:gzFile; flush:longint):longint;cdecl;external libz name 'gzflush';
- function gzseek(thefile:gzFile; offset:z_off_t; whence:longint):z_off_t;cdecl;external libz name 'gzseek';
- function gzrewind(thefile:gzFile):longint;cdecl;external libz name 'gzrewind';
- function gztell(thefile:gzFile):z_off_t;cdecl;external libz name 'gztell';
- function gzeof(thefile:gzFile):longbool;cdecl;external libz name 'gzeof';
- function gzclose(thefile:gzFile):longint;cdecl;external libz name 'gzclose';
- function gzerror(thefile:gzFile; var errnum:longint):pbytef;cdecl;external libz name 'gzerror';
- function adler32(adler:uLong;buf : pbytef; len:uInt):uLong;cdecl;external libz name 'adler32';
- function crc32(crc:uLong;buf : pbytef; len:uInt):uLong;cdecl;external libz name 'crc32';
- function deflateInit_(var strm:TZStream; level:longint; version:pchar; stream_size:longint):longint;cdecl;external libz name 'deflateInit_';
- function inflateInit_(var strm:TZStream; version:pchar; stream_size:longint):longint;cdecl;external libz name 'inflateInit_';
- function deflateInit(var strm:TZStream;level : longint) : longint;
- function inflateInit(var strm:TZStream) : longint;
- function deflateInit2_(var strm:TZStream; level:longint; method:longint; windowBits:longint; memLevel:longint;strategy:longint; version:pchar; stream_size:longint):longint;cdecl;external libz name 'deflateInit2_';
- function inflateInit2_(var strm:TZStream; windowBits:longint; version:pchar; stream_size:longint):longint;cdecl;external libz name 'inflateInit2_';
- function deflateInit2(var strm:TZStream;level,method,windowBits,memLevel,strategy : longint) : longint;
- function inflateInit2(var strm:TZStream;windowBits : longint) : longint;
- function zErrorpchar(err:longint):pchar;cdecl;external libz name 'zError';
- function zError(err:longint):string;
- function inflateSyncPoint(z:PZstream):longint;cdecl;external libz name 'inflateSyncPoint';
- function get_crc_table:pointer;cdecl;external libz name 'get_crc_table';
- implementation
- uses
- strings;
- function zlibversion : string;
- begin
- zlibversion:=strpas(zlibversionpchar);
- end;
- function deflateInit(var strm:TZStream;level : longint) : longint;
- begin
- deflateInit:=deflateInit_(strm,level,ZLIB_VERSION,sizeof(TZStream));
- end;
- function inflateInit(var strm:TZStream) : longint;
- begin
- inflateInit:=inflateInit_(strm,ZLIB_VERSION,sizeof(TZStream));
- end;
- function deflateInit2(var strm:TZStream;level,method,windowBits,memLevel,strategy : longint) : longint;
- begin
- deflateInit2:=deflateInit2_(strm,level,method,windowBits,memLevel,strategy,ZLIB_VERSION,sizeof(TZStream));
- end;
- function inflateInit2(var strm:TZStream;windowBits : longint) : longint;
- begin
- inflateInit2:=inflateInit2_(strm,windowBits,ZLIB_VERSION,sizeof(TZStream));
- end;
- function zError(err:longint):string;
- begin
- zerror:=Strpas(zErrorpchar(err));
- end;
- end.
- {
- $Log$
- Revision 1.2 2000-07-13 11:33:34 michael
- + removed logs
-
- }
|