1275793eaSopenharmony_ci---------------------------------------------------------------- 2275793eaSopenharmony_ci-- ZLib for Ada thick binding. -- 3275793eaSopenharmony_ci-- -- 4275793eaSopenharmony_ci-- Copyright (C) 2002-2003 Dmitriy Anisimkov -- 5275793eaSopenharmony_ci-- -- 6275793eaSopenharmony_ci-- Open source license information is in the zlib.ads file. -- 7275793eaSopenharmony_ci---------------------------------------------------------------- 8275793eaSopenharmony_ci 9275793eaSopenharmony_ci-- $Id: zlib-thin.adb,v 1.8 2003/12/14 18:27:31 vagul Exp $ 10275793eaSopenharmony_ci 11275793eaSopenharmony_cipackage body ZLib.Thin is 12275793eaSopenharmony_ci 13275793eaSopenharmony_ci ZLIB_VERSION : constant Chars_Ptr := zlibVersion; 14275793eaSopenharmony_ci 15275793eaSopenharmony_ci Z_Stream_Size : constant Int := Z_Stream'Size / System.Storage_Unit; 16275793eaSopenharmony_ci 17275793eaSopenharmony_ci -------------- 18275793eaSopenharmony_ci -- Avail_In -- 19275793eaSopenharmony_ci -------------- 20275793eaSopenharmony_ci 21275793eaSopenharmony_ci function Avail_In (Strm : in Z_Stream) return UInt is 22275793eaSopenharmony_ci begin 23275793eaSopenharmony_ci return Strm.Avail_In; 24275793eaSopenharmony_ci end Avail_In; 25275793eaSopenharmony_ci 26275793eaSopenharmony_ci --------------- 27275793eaSopenharmony_ci -- Avail_Out -- 28275793eaSopenharmony_ci --------------- 29275793eaSopenharmony_ci 30275793eaSopenharmony_ci function Avail_Out (Strm : in Z_Stream) return UInt is 31275793eaSopenharmony_ci begin 32275793eaSopenharmony_ci return Strm.Avail_Out; 33275793eaSopenharmony_ci end Avail_Out; 34275793eaSopenharmony_ci 35275793eaSopenharmony_ci ------------------ 36275793eaSopenharmony_ci -- Deflate_Init -- 37275793eaSopenharmony_ci ------------------ 38275793eaSopenharmony_ci 39275793eaSopenharmony_ci function Deflate_Init 40275793eaSopenharmony_ci (strm : Z_Streamp; 41275793eaSopenharmony_ci level : Int; 42275793eaSopenharmony_ci method : Int; 43275793eaSopenharmony_ci windowBits : Int; 44275793eaSopenharmony_ci memLevel : Int; 45275793eaSopenharmony_ci strategy : Int) 46275793eaSopenharmony_ci return Int is 47275793eaSopenharmony_ci begin 48275793eaSopenharmony_ci return deflateInit2 49275793eaSopenharmony_ci (strm, 50275793eaSopenharmony_ci level, 51275793eaSopenharmony_ci method, 52275793eaSopenharmony_ci windowBits, 53275793eaSopenharmony_ci memLevel, 54275793eaSopenharmony_ci strategy, 55275793eaSopenharmony_ci ZLIB_VERSION, 56275793eaSopenharmony_ci Z_Stream_Size); 57275793eaSopenharmony_ci end Deflate_Init; 58275793eaSopenharmony_ci 59275793eaSopenharmony_ci ------------------ 60275793eaSopenharmony_ci -- Inflate_Init -- 61275793eaSopenharmony_ci ------------------ 62275793eaSopenharmony_ci 63275793eaSopenharmony_ci function Inflate_Init (strm : Z_Streamp; windowBits : Int) return Int is 64275793eaSopenharmony_ci begin 65275793eaSopenharmony_ci return inflateInit2 (strm, windowBits, ZLIB_VERSION, Z_Stream_Size); 66275793eaSopenharmony_ci end Inflate_Init; 67275793eaSopenharmony_ci 68275793eaSopenharmony_ci ------------------------ 69275793eaSopenharmony_ci -- Last_Error_Message -- 70275793eaSopenharmony_ci ------------------------ 71275793eaSopenharmony_ci 72275793eaSopenharmony_ci function Last_Error_Message (Strm : in Z_Stream) return String is 73275793eaSopenharmony_ci use Interfaces.C.Strings; 74275793eaSopenharmony_ci begin 75275793eaSopenharmony_ci if Strm.msg = Null_Ptr then 76275793eaSopenharmony_ci return ""; 77275793eaSopenharmony_ci else 78275793eaSopenharmony_ci return Value (Strm.msg); 79275793eaSopenharmony_ci end if; 80275793eaSopenharmony_ci end Last_Error_Message; 81275793eaSopenharmony_ci 82275793eaSopenharmony_ci ------------ 83275793eaSopenharmony_ci -- Set_In -- 84275793eaSopenharmony_ci ------------ 85275793eaSopenharmony_ci 86275793eaSopenharmony_ci procedure Set_In 87275793eaSopenharmony_ci (Strm : in out Z_Stream; 88275793eaSopenharmony_ci Buffer : in Voidp; 89275793eaSopenharmony_ci Size : in UInt) is 90275793eaSopenharmony_ci begin 91275793eaSopenharmony_ci Strm.Next_In := Buffer; 92275793eaSopenharmony_ci Strm.Avail_In := Size; 93275793eaSopenharmony_ci end Set_In; 94275793eaSopenharmony_ci 95275793eaSopenharmony_ci ------------------ 96275793eaSopenharmony_ci -- Set_Mem_Func -- 97275793eaSopenharmony_ci ------------------ 98275793eaSopenharmony_ci 99275793eaSopenharmony_ci procedure Set_Mem_Func 100275793eaSopenharmony_ci (Strm : in out Z_Stream; 101275793eaSopenharmony_ci Opaque : in Voidp; 102275793eaSopenharmony_ci Alloc : in alloc_func; 103275793eaSopenharmony_ci Free : in free_func) is 104275793eaSopenharmony_ci begin 105275793eaSopenharmony_ci Strm.opaque := Opaque; 106275793eaSopenharmony_ci Strm.zalloc := Alloc; 107275793eaSopenharmony_ci Strm.zfree := Free; 108275793eaSopenharmony_ci end Set_Mem_Func; 109275793eaSopenharmony_ci 110275793eaSopenharmony_ci ------------- 111275793eaSopenharmony_ci -- Set_Out -- 112275793eaSopenharmony_ci ------------- 113275793eaSopenharmony_ci 114275793eaSopenharmony_ci procedure Set_Out 115275793eaSopenharmony_ci (Strm : in out Z_Stream; 116275793eaSopenharmony_ci Buffer : in Voidp; 117275793eaSopenharmony_ci Size : in UInt) is 118275793eaSopenharmony_ci begin 119275793eaSopenharmony_ci Strm.Next_Out := Buffer; 120275793eaSopenharmony_ci Strm.Avail_Out := Size; 121275793eaSopenharmony_ci end Set_Out; 122275793eaSopenharmony_ci 123275793eaSopenharmony_ci -------------- 124275793eaSopenharmony_ci -- Total_In -- 125275793eaSopenharmony_ci -------------- 126275793eaSopenharmony_ci 127275793eaSopenharmony_ci function Total_In (Strm : in Z_Stream) return ULong is 128275793eaSopenharmony_ci begin 129275793eaSopenharmony_ci return Strm.Total_In; 130275793eaSopenharmony_ci end Total_In; 131275793eaSopenharmony_ci 132275793eaSopenharmony_ci --------------- 133275793eaSopenharmony_ci -- Total_Out -- 134275793eaSopenharmony_ci --------------- 135275793eaSopenharmony_ci 136275793eaSopenharmony_ci function Total_Out (Strm : in Z_Stream) return ULong is 137275793eaSopenharmony_ci begin 138275793eaSopenharmony_ci return Strm.Total_Out; 139275793eaSopenharmony_ci end Total_Out; 140275793eaSopenharmony_ci 141275793eaSopenharmony_ciend ZLib.Thin; 142