annotate src/zlib-1.2.8/contrib/ada/zlib-thin.adb @ 43:5ea0608b923f

Current zlib source
author Chris Cannam
date Tue, 18 Oct 2016 14:33:52 +0100
parents
children
rev   line source
Chris@43 1 ----------------------------------------------------------------
Chris@43 2 -- ZLib for Ada thick binding. --
Chris@43 3 -- --
Chris@43 4 -- Copyright (C) 2002-2003 Dmitriy Anisimkov --
Chris@43 5 -- --
Chris@43 6 -- Open source license information is in the zlib.ads file. --
Chris@43 7 ----------------------------------------------------------------
Chris@43 8
Chris@43 9 -- $Id: zlib-thin.adb,v 1.8 2003/12/14 18:27:31 vagul Exp $
Chris@43 10
Chris@43 11 package body ZLib.Thin is
Chris@43 12
Chris@43 13 ZLIB_VERSION : constant Chars_Ptr := zlibVersion;
Chris@43 14
Chris@43 15 Z_Stream_Size : constant Int := Z_Stream'Size / System.Storage_Unit;
Chris@43 16
Chris@43 17 --------------
Chris@43 18 -- Avail_In --
Chris@43 19 --------------
Chris@43 20
Chris@43 21 function Avail_In (Strm : in Z_Stream) return UInt is
Chris@43 22 begin
Chris@43 23 return Strm.Avail_In;
Chris@43 24 end Avail_In;
Chris@43 25
Chris@43 26 ---------------
Chris@43 27 -- Avail_Out --
Chris@43 28 ---------------
Chris@43 29
Chris@43 30 function Avail_Out (Strm : in Z_Stream) return UInt is
Chris@43 31 begin
Chris@43 32 return Strm.Avail_Out;
Chris@43 33 end Avail_Out;
Chris@43 34
Chris@43 35 ------------------
Chris@43 36 -- Deflate_Init --
Chris@43 37 ------------------
Chris@43 38
Chris@43 39 function Deflate_Init
Chris@43 40 (strm : Z_Streamp;
Chris@43 41 level : Int;
Chris@43 42 method : Int;
Chris@43 43 windowBits : Int;
Chris@43 44 memLevel : Int;
Chris@43 45 strategy : Int)
Chris@43 46 return Int is
Chris@43 47 begin
Chris@43 48 return deflateInit2
Chris@43 49 (strm,
Chris@43 50 level,
Chris@43 51 method,
Chris@43 52 windowBits,
Chris@43 53 memLevel,
Chris@43 54 strategy,
Chris@43 55 ZLIB_VERSION,
Chris@43 56 Z_Stream_Size);
Chris@43 57 end Deflate_Init;
Chris@43 58
Chris@43 59 ------------------
Chris@43 60 -- Inflate_Init --
Chris@43 61 ------------------
Chris@43 62
Chris@43 63 function Inflate_Init (strm : Z_Streamp; windowBits : Int) return Int is
Chris@43 64 begin
Chris@43 65 return inflateInit2 (strm, windowBits, ZLIB_VERSION, Z_Stream_Size);
Chris@43 66 end Inflate_Init;
Chris@43 67
Chris@43 68 ------------------------
Chris@43 69 -- Last_Error_Message --
Chris@43 70 ------------------------
Chris@43 71
Chris@43 72 function Last_Error_Message (Strm : in Z_Stream) return String is
Chris@43 73 use Interfaces.C.Strings;
Chris@43 74 begin
Chris@43 75 if Strm.msg = Null_Ptr then
Chris@43 76 return "";
Chris@43 77 else
Chris@43 78 return Value (Strm.msg);
Chris@43 79 end if;
Chris@43 80 end Last_Error_Message;
Chris@43 81
Chris@43 82 ------------
Chris@43 83 -- Set_In --
Chris@43 84 ------------
Chris@43 85
Chris@43 86 procedure Set_In
Chris@43 87 (Strm : in out Z_Stream;
Chris@43 88 Buffer : in Voidp;
Chris@43 89 Size : in UInt) is
Chris@43 90 begin
Chris@43 91 Strm.Next_In := Buffer;
Chris@43 92 Strm.Avail_In := Size;
Chris@43 93 end Set_In;
Chris@43 94
Chris@43 95 ------------------
Chris@43 96 -- Set_Mem_Func --
Chris@43 97 ------------------
Chris@43 98
Chris@43 99 procedure Set_Mem_Func
Chris@43 100 (Strm : in out Z_Stream;
Chris@43 101 Opaque : in Voidp;
Chris@43 102 Alloc : in alloc_func;
Chris@43 103 Free : in free_func) is
Chris@43 104 begin
Chris@43 105 Strm.opaque := Opaque;
Chris@43 106 Strm.zalloc := Alloc;
Chris@43 107 Strm.zfree := Free;
Chris@43 108 end Set_Mem_Func;
Chris@43 109
Chris@43 110 -------------
Chris@43 111 -- Set_Out --
Chris@43 112 -------------
Chris@43 113
Chris@43 114 procedure Set_Out
Chris@43 115 (Strm : in out Z_Stream;
Chris@43 116 Buffer : in Voidp;
Chris@43 117 Size : in UInt) is
Chris@43 118 begin
Chris@43 119 Strm.Next_Out := Buffer;
Chris@43 120 Strm.Avail_Out := Size;
Chris@43 121 end Set_Out;
Chris@43 122
Chris@43 123 --------------
Chris@43 124 -- Total_In --
Chris@43 125 --------------
Chris@43 126
Chris@43 127 function Total_In (Strm : in Z_Stream) return ULong is
Chris@43 128 begin
Chris@43 129 return Strm.Total_In;
Chris@43 130 end Total_In;
Chris@43 131
Chris@43 132 ---------------
Chris@43 133 -- Total_Out --
Chris@43 134 ---------------
Chris@43 135
Chris@43 136 function Total_Out (Strm : in Z_Stream) return ULong is
Chris@43 137 begin
Chris@43 138 return Strm.Total_Out;
Chris@43 139 end Total_Out;
Chris@43 140
Chris@43 141 end ZLib.Thin;