OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [zlib/] [contrib/] [ada/] [zlib-thin.adb] - Blame information for rev 745

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 745 jeremybenn
----------------------------------------------------------------
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
----------------------------------------------------------------
8
 
9
--  $Id: zlib-thin.adb,v 1.8 2003/12/14 18:27:31 vagul Exp $
10
 
11
package body ZLib.Thin is
12
 
13
   ZLIB_VERSION  : constant Chars_Ptr := zlibVersion;
14
 
15
   Z_Stream_Size : constant Int := Z_Stream'Size / System.Storage_Unit;
16
 
17
   --------------
18
   -- Avail_In --
19
   --------------
20
 
21
   function Avail_In (Strm : in Z_Stream) return UInt is
22
   begin
23
      return Strm.Avail_In;
24
   end Avail_In;
25
 
26
   ---------------
27
   -- Avail_Out --
28
   ---------------
29
 
30
   function Avail_Out (Strm : in Z_Stream) return UInt is
31
   begin
32
      return Strm.Avail_Out;
33
   end Avail_Out;
34
 
35
   ------------------
36
   -- Deflate_Init --
37
   ------------------
38
 
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;
58
 
59
   ------------------
60
   -- Inflate_Init --
61
   ------------------
62
 
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;
67
 
68
   ------------------------
69
   -- Last_Error_Message --
70
   ------------------------
71
 
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;
81
 
82
   ------------
83
   -- Set_In --
84
   ------------
85
 
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;
94
 
95
   ------------------
96
   -- Set_Mem_Func --
97
   ------------------
98
 
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;
109
 
110
   -------------
111
   -- Set_Out --
112
   -------------
113
 
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;
122
 
123
   --------------
124
   -- Total_In --
125
   --------------
126
 
127
   function Total_In (Strm : in Z_Stream) return ULong is
128
   begin
129
      return Strm.Total_In;
130
   end Total_In;
131
 
132
   ---------------
133
   -- Total_Out --
134
   ---------------
135
 
136
   function Total_Out (Strm : in Z_Stream) return ULong is
137
   begin
138
      return Strm.Total_Out;
139
   end Total_Out;
140
 
141
end ZLib.Thin;

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.