1b33c96954667ba382fa595baf7b31290bfdd517vboxsync----------------------------------------------------------------
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync-- ZLib for Ada thick binding. --
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync-- --
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync-- Copyright (C) 2002-2003 Dmitriy Anisimkov --
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync-- --
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync-- Open source license information is in the zlib.ads file. --
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync----------------------------------------------------------------
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync-- $Id$
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncpackage body ZLib.Thin is
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync ZLIB_VERSION : constant Chars_Ptr := zlibVersion;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync Z_Stream_Size : constant Int := Z_Stream'Size / System.Storage_Unit;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync --------------
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync -- Avail_In --
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync --------------
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync function Avail_In (Strm : in Z_Stream) return UInt is
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync begin
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync return Strm.Avail_In;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync end Avail_In;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync ---------------
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync -- Avail_Out --
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync ---------------
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync function Avail_Out (Strm : in Z_Stream) return UInt is
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync begin
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync return Strm.Avail_Out;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync end Avail_Out;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync ------------------
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync -- Deflate_Init --
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync ------------------
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync function Deflate_Init
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync (strm : Z_Streamp;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync level : Int;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync method : Int;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync windowBits : Int;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync memLevel : Int;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync strategy : Int)
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync return Int is
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync begin
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync return deflateInit2
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync (strm,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync level,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync method,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync windowBits,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync memLevel,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync strategy,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync ZLIB_VERSION,
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync Z_Stream_Size);
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync end Deflate_Init;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync ------------------
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync -- Inflate_Init --
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync ------------------
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync function Inflate_Init (strm : Z_Streamp; windowBits : Int) return Int is
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync begin
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync return inflateInit2 (strm, windowBits, ZLIB_VERSION, Z_Stream_Size);
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync end Inflate_Init;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync ------------------------
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync -- Last_Error_Message --
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync ------------------------
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync function Last_Error_Message (Strm : in Z_Stream) return String is
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync use Interfaces.C.Strings;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync begin
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync if Strm.msg = Null_Ptr then
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync return "";
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync else
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync return Value (Strm.msg);
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync end if;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync end Last_Error_Message;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync ------------
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync -- Set_In --
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync ------------
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync procedure Set_In
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync (Strm : in out Z_Stream;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync Buffer : in Voidp;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync Size : in UInt) is
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync begin
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync Strm.Next_In := Buffer;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync Strm.Avail_In := Size;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync end Set_In;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync ------------------
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync -- Set_Mem_Func --
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync ------------------
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync procedure Set_Mem_Func
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync (Strm : in out Z_Stream;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync Opaque : in Voidp;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync Alloc : in alloc_func;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync Free : in free_func) is
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync begin
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync Strm.opaque := Opaque;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync Strm.zalloc := Alloc;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync Strm.zfree := Free;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync end Set_Mem_Func;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync -------------
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync -- Set_Out --
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync -------------
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync procedure Set_Out
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync (Strm : in out Z_Stream;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync Buffer : in Voidp;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync Size : in UInt) is
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync begin
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync Strm.Next_Out := Buffer;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync Strm.Avail_Out := Size;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync end Set_Out;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync --------------
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync -- Total_In --
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync --------------
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync function Total_In (Strm : in Z_Stream) return ULong is
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync begin
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync return Strm.Total_In;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync end Total_In;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync ---------------
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync -- Total_Out --
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync ---------------
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync function Total_Out (Strm : in Z_Stream) return ULong is
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync begin
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync return Strm.Total_Out;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync end Total_Out;
1b33c96954667ba382fa595baf7b31290bfdd517vboxsync
1b33c96954667ba382fa595baf7b31290bfdd517vboxsyncend ZLib.Thin;