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