| 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;
 
 
  |