annotate src/zlib-1.2.7/contrib/ada/zlib-thin.adb @ 83:ae30d91d2ffe

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