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