| 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.ads,v 1.11 2004/07/23 06:33:11 vagul Exp $
 | 
      
         | 10 |  |  |  
 | 
      
         | 11 |  |  | with Interfaces.C.Strings;
 | 
      
         | 12 |  |  |  
 | 
      
         | 13 |  |  | with System;
 | 
      
         | 14 |  |  |  
 | 
      
         | 15 |  |  | private package ZLib.Thin is
 | 
      
         | 16 |  |  |  
 | 
      
         | 17 |  |  |    --  From zconf.h
 | 
      
         | 18 |  |  |  
 | 
      
         | 19 |  |  |    MAX_MEM_LEVEL : constant := 9;         --  zconf.h:105
 | 
      
         | 20 |  |  |                                           --  zconf.h:105
 | 
      
         | 21 |  |  |    MAX_WBITS : constant := 15;      --  zconf.h:115
 | 
      
         | 22 |  |  |                                     --  32K LZ77 window
 | 
      
         | 23 |  |  |                                     --  zconf.h:115
 | 
      
         | 24 |  |  |    SEEK_SET : constant := 8#0000#;  --  zconf.h:244
 | 
      
         | 25 |  |  |                                     --  Seek from beginning of file.
 | 
      
         | 26 |  |  |                                     --  zconf.h:244
 | 
      
         | 27 |  |  |    SEEK_CUR : constant := 1;        --  zconf.h:245
 | 
      
         | 28 |  |  |                                     --  Seek from current position.
 | 
      
         | 29 |  |  |                                     --  zconf.h:245
 | 
      
         | 30 |  |  |    SEEK_END : constant := 2;        --  zconf.h:246
 | 
      
         | 31 |  |  |                                     --  Set file pointer to EOF plus "offset"
 | 
      
         | 32 |  |  |                                     --  zconf.h:246
 | 
      
         | 33 |  |  |  
 | 
      
         | 34 |  |  |    type Byte is new Interfaces.C.unsigned_char; --  8 bits
 | 
      
         | 35 |  |  |                                                 --  zconf.h:214
 | 
      
         | 36 |  |  |    type UInt is new Interfaces.C.unsigned;      --  16 bits or more
 | 
      
         | 37 |  |  |                                                 --  zconf.h:216
 | 
      
         | 38 |  |  |    type Int is new Interfaces.C.int;
 | 
      
         | 39 |  |  |  
 | 
      
         | 40 |  |  |    type ULong is new Interfaces.C.unsigned_long;     --  32 bits or more
 | 
      
         | 41 |  |  |                                                      --  zconf.h:217
 | 
      
         | 42 |  |  |    subtype Chars_Ptr is Interfaces.C.Strings.chars_ptr;
 | 
      
         | 43 |  |  |  
 | 
      
         | 44 |  |  |    type ULong_Access is access ULong;
 | 
      
         | 45 |  |  |    type Int_Access is access Int;
 | 
      
         | 46 |  |  |  
 | 
      
         | 47 |  |  |    subtype Voidp is System.Address;            --  zconf.h:232
 | 
      
         | 48 |  |  |  
 | 
      
         | 49 |  |  |    subtype Byte_Access is Voidp;
 | 
      
         | 50 |  |  |  
 | 
      
         | 51 |  |  |    Nul : constant Voidp := System.Null_Address;
 | 
      
         | 52 |  |  |    --  end from zconf
 | 
      
         | 53 |  |  |  
 | 
      
         | 54 |  |  |    Z_NO_FLUSH : constant := 8#0000#;   --  zlib.h:125
 | 
      
         | 55 |  |  |                                        --  zlib.h:125
 | 
      
         | 56 |  |  |    Z_PARTIAL_FLUSH : constant := 1;       --  zlib.h:126
 | 
      
         | 57 |  |  |                                           --  will be removed, use
 | 
      
         | 58 |  |  |                                           --  Z_SYNC_FLUSH instead
 | 
      
         | 59 |  |  |                                           --  zlib.h:126
 | 
      
         | 60 |  |  |    Z_SYNC_FLUSH : constant := 2;       --  zlib.h:127
 | 
      
         | 61 |  |  |                                        --  zlib.h:127
 | 
      
         | 62 |  |  |    Z_FULL_FLUSH : constant := 3;       --  zlib.h:128
 | 
      
         | 63 |  |  |                                        --  zlib.h:128
 | 
      
         | 64 |  |  |    Z_FINISH : constant := 4;        --  zlib.h:129
 | 
      
         | 65 |  |  |                                     --  zlib.h:129
 | 
      
         | 66 |  |  |    Z_OK : constant := 8#0000#;   --  zlib.h:132
 | 
      
         | 67 |  |  |                                  --  zlib.h:132
 | 
      
         | 68 |  |  |    Z_STREAM_END : constant := 1;       --  zlib.h:133
 | 
      
         | 69 |  |  |                                        --  zlib.h:133
 | 
      
         | 70 |  |  |    Z_NEED_DICT : constant := 2;        --  zlib.h:134
 | 
      
         | 71 |  |  |                                        --  zlib.h:134
 | 
      
         | 72 |  |  |    Z_ERRNO : constant := -1;        --  zlib.h:135
 | 
      
         | 73 |  |  |                                     --  zlib.h:135
 | 
      
         | 74 |  |  |    Z_STREAM_ERROR : constant := -2;       --  zlib.h:136
 | 
      
         | 75 |  |  |                                           --  zlib.h:136
 | 
      
         | 76 |  |  |    Z_DATA_ERROR : constant := -3;      --  zlib.h:137
 | 
      
         | 77 |  |  |                                        --  zlib.h:137
 | 
      
         | 78 |  |  |    Z_MEM_ERROR : constant := -4;       --  zlib.h:138
 | 
      
         | 79 |  |  |                                        --  zlib.h:138
 | 
      
         | 80 |  |  |    Z_BUF_ERROR : constant := -5;       --  zlib.h:139
 | 
      
         | 81 |  |  |                                        --  zlib.h:139
 | 
      
         | 82 |  |  |    Z_VERSION_ERROR : constant := -6;      --  zlib.h:140
 | 
      
         | 83 |  |  |                                           --  zlib.h:140
 | 
      
         | 84 |  |  |    Z_NO_COMPRESSION : constant := 8#0000#;   --  zlib.h:145
 | 
      
         | 85 |  |  |                                              --  zlib.h:145
 | 
      
         | 86 |  |  |    Z_BEST_SPEED : constant := 1;       --  zlib.h:146
 | 
      
         | 87 |  |  |                                        --  zlib.h:146
 | 
      
         | 88 |  |  |    Z_BEST_COMPRESSION : constant := 9;       --  zlib.h:147
 | 
      
         | 89 |  |  |                                              --  zlib.h:147
 | 
      
         | 90 |  |  |    Z_DEFAULT_COMPRESSION : constant := -1;      --  zlib.h:148
 | 
      
         | 91 |  |  |                                                 --  zlib.h:148
 | 
      
         | 92 |  |  |    Z_FILTERED : constant := 1;      --  zlib.h:151
 | 
      
         | 93 |  |  |                                     --  zlib.h:151
 | 
      
         | 94 |  |  |    Z_HUFFMAN_ONLY : constant := 2;        --  zlib.h:152
 | 
      
         | 95 |  |  |                                           --  zlib.h:152
 | 
      
         | 96 |  |  |    Z_DEFAULT_STRATEGY : constant := 8#0000#; --  zlib.h:153
 | 
      
         | 97 |  |  |                                              --  zlib.h:153
 | 
      
         | 98 |  |  |    Z_BINARY : constant := 8#0000#;  --  zlib.h:156
 | 
      
         | 99 |  |  |                                     --  zlib.h:156
 | 
      
         | 100 |  |  |    Z_ASCII : constant := 1;      --  zlib.h:157
 | 
      
         | 101 |  |  |                                  --  zlib.h:157
 | 
      
         | 102 |  |  |    Z_UNKNOWN : constant := 2;       --  zlib.h:158
 | 
      
         | 103 |  |  |                                     --  zlib.h:158
 | 
      
         | 104 |  |  |    Z_DEFLATED : constant := 8;      --  zlib.h:161
 | 
      
         | 105 |  |  |                                     --  zlib.h:161
 | 
      
         | 106 |  |  |    Z_NULL : constant := 8#0000#; --  zlib.h:164
 | 
      
         | 107 |  |  |                                  --  for initializing zalloc, zfree, opaque
 | 
      
         | 108 |  |  |                                  --  zlib.h:164
 | 
      
         | 109 |  |  |    type gzFile is new Voidp;                  --  zlib.h:646
 | 
      
         | 110 |  |  |  
 | 
      
         | 111 |  |  |    type Z_Stream is private;
 | 
      
         | 112 |  |  |  
 | 
      
         | 113 |  |  |    type Z_Streamp is access all Z_Stream;     --  zlib.h:89
 | 
      
         | 114 |  |  |  
 | 
      
         | 115 |  |  |    type alloc_func is access function
 | 
      
         | 116 |  |  |      (Opaque : Voidp;
 | 
      
         | 117 |  |  |       Items  : UInt;
 | 
      
         | 118 |  |  |       Size   : UInt)
 | 
      
         | 119 |  |  |       return Voidp; --  zlib.h:63
 | 
      
         | 120 |  |  |  
 | 
      
         | 121 |  |  |    type free_func is access procedure (opaque : Voidp; address : Voidp);
 | 
      
         | 122 |  |  |  
 | 
      
         | 123 |  |  |    function zlibVersion return Chars_Ptr;
 | 
      
         | 124 |  |  |  
 | 
      
         | 125 |  |  |    function Deflate (strm : Z_Streamp; flush : Int) return Int;
 | 
      
         | 126 |  |  |  
 | 
      
         | 127 |  |  |    function DeflateEnd (strm : Z_Streamp) return Int;
 | 
      
         | 128 |  |  |  
 | 
      
         | 129 |  |  |    function Inflate (strm : Z_Streamp; flush : Int) return Int;
 | 
      
         | 130 |  |  |  
 | 
      
         | 131 |  |  |    function InflateEnd (strm : Z_Streamp) return Int;
 | 
      
         | 132 |  |  |  
 | 
      
         | 133 |  |  |    function deflateSetDictionary
 | 
      
         | 134 |  |  |      (strm       : Z_Streamp;
 | 
      
         | 135 |  |  |       dictionary : Byte_Access;
 | 
      
         | 136 |  |  |       dictLength : UInt)
 | 
      
         | 137 |  |  |       return       Int;
 | 
      
         | 138 |  |  |  
 | 
      
         | 139 |  |  |    function deflateCopy (dest : Z_Streamp; source : Z_Streamp) return Int;
 | 
      
         | 140 |  |  |    --  zlib.h:478
 | 
      
         | 141 |  |  |  
 | 
      
         | 142 |  |  |    function deflateReset (strm : Z_Streamp) return Int; -- zlib.h:495
 | 
      
         | 143 |  |  |  
 | 
      
         | 144 |  |  |    function deflateParams
 | 
      
         | 145 |  |  |      (strm     : Z_Streamp;
 | 
      
         | 146 |  |  |       level    : Int;
 | 
      
         | 147 |  |  |       strategy : Int)
 | 
      
         | 148 |  |  |       return     Int;       -- zlib.h:506
 | 
      
         | 149 |  |  |  
 | 
      
         | 150 |  |  |    function inflateSetDictionary
 | 
      
         | 151 |  |  |      (strm       : Z_Streamp;
 | 
      
         | 152 |  |  |       dictionary : Byte_Access;
 | 
      
         | 153 |  |  |       dictLength : UInt)
 | 
      
         | 154 |  |  |       return       Int; --  zlib.h:548
 | 
      
         | 155 |  |  |  
 | 
      
         | 156 |  |  |    function inflateSync (strm : Z_Streamp) return Int;  --  zlib.h:565
 | 
      
         | 157 |  |  |  
 | 
      
         | 158 |  |  |    function inflateReset (strm : Z_Streamp) return Int; --  zlib.h:580
 | 
      
         | 159 |  |  |  
 | 
      
         | 160 |  |  |    function compress
 | 
      
         | 161 |  |  |      (dest      : Byte_Access;
 | 
      
         | 162 |  |  |       destLen   : ULong_Access;
 | 
      
         | 163 |  |  |       source    : Byte_Access;
 | 
      
         | 164 |  |  |       sourceLen : ULong)
 | 
      
         | 165 |  |  |       return      Int;           -- zlib.h:601
 | 
      
         | 166 |  |  |  
 | 
      
         | 167 |  |  |    function compress2
 | 
      
         | 168 |  |  |      (dest      : Byte_Access;
 | 
      
         | 169 |  |  |       destLen   : ULong_Access;
 | 
      
         | 170 |  |  |       source    : Byte_Access;
 | 
      
         | 171 |  |  |       sourceLen : ULong;
 | 
      
         | 172 |  |  |       level     : Int)
 | 
      
         | 173 |  |  |       return      Int;          -- zlib.h:615
 | 
      
         | 174 |  |  |  
 | 
      
         | 175 |  |  |    function uncompress
 | 
      
         | 176 |  |  |      (dest      : Byte_Access;
 | 
      
         | 177 |  |  |       destLen   : ULong_Access;
 | 
      
         | 178 |  |  |       source    : Byte_Access;
 | 
      
         | 179 |  |  |       sourceLen : ULong)
 | 
      
         | 180 |  |  |       return      Int;
 | 
      
         | 181 |  |  |  
 | 
      
         | 182 |  |  |    function gzopen (path : Chars_Ptr; mode : Chars_Ptr) return gzFile;
 | 
      
         | 183 |  |  |  
 | 
      
         | 184 |  |  |    function gzdopen (fd : Int; mode : Chars_Ptr) return gzFile;
 | 
      
         | 185 |  |  |  
 | 
      
         | 186 |  |  |    function gzsetparams
 | 
      
         | 187 |  |  |      (file     : gzFile;
 | 
      
         | 188 |  |  |       level    : Int;
 | 
      
         | 189 |  |  |       strategy : Int)
 | 
      
         | 190 |  |  |       return     Int;
 | 
      
         | 191 |  |  |  
 | 
      
         | 192 |  |  |    function gzread
 | 
      
         | 193 |  |  |      (file : gzFile;
 | 
      
         | 194 |  |  |       buf  : Voidp;
 | 
      
         | 195 |  |  |       len  : UInt)
 | 
      
         | 196 |  |  |       return Int;
 | 
      
         | 197 |  |  |  
 | 
      
         | 198 |  |  |    function gzwrite
 | 
      
         | 199 |  |  |      (file : in gzFile;
 | 
      
         | 200 |  |  |       buf  : in Voidp;
 | 
      
         | 201 |  |  |       len  : in UInt)
 | 
      
         | 202 |  |  |       return Int;
 | 
      
         | 203 |  |  |  
 | 
      
         | 204 |  |  |    function gzprintf (file : in gzFile; format : in Chars_Ptr) return Int;
 | 
      
         | 205 |  |  |  
 | 
      
         | 206 |  |  |    function gzputs (file : in gzFile; s : in Chars_Ptr) return Int;
 | 
      
         | 207 |  |  |  
 | 
      
         | 208 |  |  |    function gzgets
 | 
      
         | 209 |  |  |      (file : gzFile;
 | 
      
         | 210 |  |  |       buf  : Chars_Ptr;
 | 
      
         | 211 |  |  |       len  : Int)
 | 
      
         | 212 |  |  |       return Chars_Ptr;
 | 
      
         | 213 |  |  |  
 | 
      
         | 214 |  |  |    function gzputc (file : gzFile; char : Int) return Int;
 | 
      
         | 215 |  |  |  
 | 
      
         | 216 |  |  |    function gzgetc (file : gzFile) return Int;
 | 
      
         | 217 |  |  |  
 | 
      
         | 218 |  |  |    function gzflush (file : gzFile; flush : Int) return Int;
 | 
      
         | 219 |  |  |  
 | 
      
         | 220 |  |  |    function gzseek
 | 
      
         | 221 |  |  |      (file   : gzFile;
 | 
      
         | 222 |  |  |       offset : Int;
 | 
      
         | 223 |  |  |       whence : Int)
 | 
      
         | 224 |  |  |       return   Int;
 | 
      
         | 225 |  |  |  
 | 
      
         | 226 |  |  |    function gzrewind (file : gzFile) return Int;
 | 
      
         | 227 |  |  |  
 | 
      
         | 228 |  |  |    function gztell (file : gzFile) return Int;
 | 
      
         | 229 |  |  |  
 | 
      
         | 230 |  |  |    function gzeof (file : gzFile) return Int;
 | 
      
         | 231 |  |  |  
 | 
      
         | 232 |  |  |    function gzclose (file : gzFile) return Int;
 | 
      
         | 233 |  |  |  
 | 
      
         | 234 |  |  |    function gzerror (file : gzFile; errnum : Int_Access) return Chars_Ptr;
 | 
      
         | 235 |  |  |  
 | 
      
         | 236 |  |  |    function adler32
 | 
      
         | 237 |  |  |      (adler : ULong;
 | 
      
         | 238 |  |  |       buf   : Byte_Access;
 | 
      
         | 239 |  |  |       len   : UInt)
 | 
      
         | 240 |  |  |       return  ULong;
 | 
      
         | 241 |  |  |  
 | 
      
         | 242 |  |  |    function crc32
 | 
      
         | 243 |  |  |      (crc  : ULong;
 | 
      
         | 244 |  |  |       buf  : Byte_Access;
 | 
      
         | 245 |  |  |       len  : UInt)
 | 
      
         | 246 |  |  |       return ULong;
 | 
      
         | 247 |  |  |  
 | 
      
         | 248 |  |  |    function deflateInit
 | 
      
         | 249 |  |  |      (strm        : Z_Streamp;
 | 
      
         | 250 |  |  |       level       : Int;
 | 
      
         | 251 |  |  |       version     : Chars_Ptr;
 | 
      
         | 252 |  |  |       stream_size : Int)
 | 
      
         | 253 |  |  |       return        Int;
 | 
      
         | 254 |  |  |  
 | 
      
         | 255 |  |  |    function deflateInit2
 | 
      
         | 256 |  |  |      (strm        : Z_Streamp;
 | 
      
         | 257 |  |  |       level       : Int;
 | 
      
         | 258 |  |  |       method      : Int;
 | 
      
         | 259 |  |  |       windowBits  : Int;
 | 
      
         | 260 |  |  |       memLevel    : Int;
 | 
      
         | 261 |  |  |       strategy    : Int;
 | 
      
         | 262 |  |  |       version     : Chars_Ptr;
 | 
      
         | 263 |  |  |       stream_size : Int)
 | 
      
         | 264 |  |  |       return        Int;
 | 
      
         | 265 |  |  |  
 | 
      
         | 266 |  |  |    function Deflate_Init
 | 
      
         | 267 |  |  |      (strm       : Z_Streamp;
 | 
      
         | 268 |  |  |       level      : Int;
 | 
      
         | 269 |  |  |       method     : Int;
 | 
      
         | 270 |  |  |       windowBits : Int;
 | 
      
         | 271 |  |  |       memLevel   : Int;
 | 
      
         | 272 |  |  |       strategy   : Int)
 | 
      
         | 273 |  |  |       return       Int;
 | 
      
         | 274 |  |  |    pragma Inline (Deflate_Init);
 | 
      
         | 275 |  |  |  
 | 
      
         | 276 |  |  |    function inflateInit
 | 
      
         | 277 |  |  |      (strm        : Z_Streamp;
 | 
      
         | 278 |  |  |       version     : Chars_Ptr;
 | 
      
         | 279 |  |  |       stream_size : Int)
 | 
      
         | 280 |  |  |       return        Int;
 | 
      
         | 281 |  |  |  
 | 
      
         | 282 |  |  |    function inflateInit2
 | 
      
         | 283 |  |  |      (strm        : in Z_Streamp;
 | 
      
         | 284 |  |  |       windowBits  : in Int;
 | 
      
         | 285 |  |  |       version     : in Chars_Ptr;
 | 
      
         | 286 |  |  |       stream_size : in Int)
 | 
      
         | 287 |  |  |       return      Int;
 | 
      
         | 288 |  |  |  
 | 
      
         | 289 |  |  |    function inflateBackInit
 | 
      
         | 290 |  |  |      (strm        : in Z_Streamp;
 | 
      
         | 291 |  |  |       windowBits  : in Int;
 | 
      
         | 292 |  |  |       window      : in Byte_Access;
 | 
      
         | 293 |  |  |       version     : in Chars_Ptr;
 | 
      
         | 294 |  |  |       stream_size : in Int)
 | 
      
         | 295 |  |  |       return      Int;
 | 
      
         | 296 |  |  |    --  Size of window have to be 2**windowBits.
 | 
      
         | 297 |  |  |  
 | 
      
         | 298 |  |  |    function Inflate_Init (strm : Z_Streamp; windowBits : Int) return Int;
 | 
      
         | 299 |  |  |    pragma Inline (Inflate_Init);
 | 
      
         | 300 |  |  |  
 | 
      
         | 301 |  |  |    function zError (err : Int) return Chars_Ptr;
 | 
      
         | 302 |  |  |  
 | 
      
         | 303 |  |  |    function inflateSyncPoint (z : Z_Streamp) return Int;
 | 
      
         | 304 |  |  |  
 | 
      
         | 305 |  |  |    function get_crc_table return ULong_Access;
 | 
      
         | 306 |  |  |  
 | 
      
         | 307 |  |  |    --  Interface to the available fields of the z_stream structure.
 | 
      
         | 308 |  |  |    --  The application must update next_in and avail_in when avail_in has
 | 
      
         | 309 |  |  |    --  dropped to zero. It must update next_out and avail_out when avail_out
 | 
      
         | 310 |  |  |    --  has dropped to zero. The application must initialize zalloc, zfree and
 | 
      
         | 311 |  |  |    --  opaque before calling the init function.
 | 
      
         | 312 |  |  |  
 | 
      
         | 313 |  |  |    procedure Set_In
 | 
      
         | 314 |  |  |      (Strm   : in out Z_Stream;
 | 
      
         | 315 |  |  |       Buffer : in Voidp;
 | 
      
         | 316 |  |  |       Size   : in UInt);
 | 
      
         | 317 |  |  |    pragma Inline (Set_In);
 | 
      
         | 318 |  |  |  
 | 
      
         | 319 |  |  |    procedure Set_Out
 | 
      
         | 320 |  |  |      (Strm   : in out Z_Stream;
 | 
      
         | 321 |  |  |       Buffer : in Voidp;
 | 
      
         | 322 |  |  |       Size   : in UInt);
 | 
      
         | 323 |  |  |    pragma Inline (Set_Out);
 | 
      
         | 324 |  |  |  
 | 
      
         | 325 |  |  |    procedure Set_Mem_Func
 | 
      
         | 326 |  |  |      (Strm   : in out Z_Stream;
 | 
      
         | 327 |  |  |       Opaque : in Voidp;
 | 
      
         | 328 |  |  |       Alloc  : in alloc_func;
 | 
      
         | 329 |  |  |       Free   : in free_func);
 | 
      
         | 330 |  |  |    pragma Inline (Set_Mem_Func);
 | 
      
         | 331 |  |  |  
 | 
      
         | 332 |  |  |    function Last_Error_Message (Strm : in Z_Stream) return String;
 | 
      
         | 333 |  |  |    pragma Inline (Last_Error_Message);
 | 
      
         | 334 |  |  |  
 | 
      
         | 335 |  |  |    function Avail_Out (Strm : in Z_Stream) return UInt;
 | 
      
         | 336 |  |  |    pragma Inline (Avail_Out);
 | 
      
         | 337 |  |  |  
 | 
      
         | 338 |  |  |    function Avail_In (Strm : in Z_Stream) return UInt;
 | 
      
         | 339 |  |  |    pragma Inline (Avail_In);
 | 
      
         | 340 |  |  |  
 | 
      
         | 341 |  |  |    function Total_In (Strm : in Z_Stream) return ULong;
 | 
      
         | 342 |  |  |    pragma Inline (Total_In);
 | 
      
         | 343 |  |  |  
 | 
      
         | 344 |  |  |    function Total_Out (Strm : in Z_Stream) return ULong;
 | 
      
         | 345 |  |  |    pragma Inline (Total_Out);
 | 
      
         | 346 |  |  |  
 | 
      
         | 347 |  |  |    function inflateCopy
 | 
      
         | 348 |  |  |      (dest   : in Z_Streamp;
 | 
      
         | 349 |  |  |       Source : in Z_Streamp)
 | 
      
         | 350 |  |  |       return Int;
 | 
      
         | 351 |  |  |  
 | 
      
         | 352 |  |  |    function compressBound (Source_Len : in ULong) return ULong;
 | 
      
         | 353 |  |  |  
 | 
      
         | 354 |  |  |    function deflateBound
 | 
      
         | 355 |  |  |      (Strm       : in Z_Streamp;
 | 
      
         | 356 |  |  |       Source_Len : in ULong)
 | 
      
         | 357 |  |  |       return     ULong;
 | 
      
         | 358 |  |  |  
 | 
      
         | 359 |  |  |    function gzungetc (C : in Int; File : in  gzFile) return Int;
 | 
      
         | 360 |  |  |  
 | 
      
         | 361 |  |  |    function zlibCompileFlags return ULong;
 | 
      
         | 362 |  |  |  
 | 
      
         | 363 |  |  | private
 | 
      
         | 364 |  |  |  
 | 
      
         | 365 |  |  |    type Z_Stream is record            -- zlib.h:68
 | 
      
         | 366 |  |  |       Next_In   : Voidp      := Nul;  -- next input byte
 | 
      
         | 367 |  |  |       Avail_In  : UInt       := 0;    -- number of bytes available at next_in
 | 
      
         | 368 |  |  |       Total_In  : ULong      := 0;    -- total nb of input bytes read so far
 | 
      
         | 369 |  |  |       Next_Out  : Voidp      := Nul;  -- next output byte should be put there
 | 
      
         | 370 |  |  |       Avail_Out : UInt       := 0;    -- remaining free space at next_out
 | 
      
         | 371 |  |  |       Total_Out : ULong      := 0;    -- total nb of bytes output so far
 | 
      
         | 372 |  |  |       msg       : Chars_Ptr;          -- last error message, NULL if no error
 | 
      
         | 373 |  |  |       state     : Voidp;              -- not visible by applications
 | 
      
         | 374 |  |  |       zalloc    : alloc_func := null; -- used to allocate the internal state
 | 
      
         | 375 |  |  |       zfree     : free_func  := null; -- used to free the internal state
 | 
      
         | 376 |  |  |       opaque    : Voidp;              -- private data object passed to
 | 
      
         | 377 |  |  |                                       --  zalloc and zfree
 | 
      
         | 378 |  |  |       data_type : Int;                -- best guess about the data type:
 | 
      
         | 379 |  |  |                                       --  ascii or binary
 | 
      
         | 380 |  |  |       adler     : ULong;              -- adler32 value of the uncompressed
 | 
      
         | 381 |  |  |                                       --  data
 | 
      
         | 382 |  |  |       reserved  : ULong;              -- reserved for future use
 | 
      
         | 383 |  |  |    end record;
 | 
      
         | 384 |  |  |  
 | 
      
         | 385 |  |  |    pragma Convention (C, Z_Stream);
 | 
      
         | 386 |  |  |  
 | 
      
         | 387 |  |  |    pragma Import (C, zlibVersion, "zlibVersion");
 | 
      
         | 388 |  |  |    pragma Import (C, Deflate, "deflate");
 | 
      
         | 389 |  |  |    pragma Import (C, DeflateEnd, "deflateEnd");
 | 
      
         | 390 |  |  |    pragma Import (C, Inflate, "inflate");
 | 
      
         | 391 |  |  |    pragma Import (C, InflateEnd, "inflateEnd");
 | 
      
         | 392 |  |  |    pragma Import (C, deflateSetDictionary, "deflateSetDictionary");
 | 
      
         | 393 |  |  |    pragma Import (C, deflateCopy, "deflateCopy");
 | 
      
         | 394 |  |  |    pragma Import (C, deflateReset, "deflateReset");
 | 
      
         | 395 |  |  |    pragma Import (C, deflateParams, "deflateParams");
 | 
      
         | 396 |  |  |    pragma Import (C, inflateSetDictionary, "inflateSetDictionary");
 | 
      
         | 397 |  |  |    pragma Import (C, inflateSync, "inflateSync");
 | 
      
         | 398 |  |  |    pragma Import (C, inflateReset, "inflateReset");
 | 
      
         | 399 |  |  |    pragma Import (C, compress, "compress");
 | 
      
         | 400 |  |  |    pragma Import (C, compress2, "compress2");
 | 
      
         | 401 |  |  |    pragma Import (C, uncompress, "uncompress");
 | 
      
         | 402 |  |  |    pragma Import (C, gzopen, "gzopen");
 | 
      
         | 403 |  |  |    pragma Import (C, gzdopen, "gzdopen");
 | 
      
         | 404 |  |  |    pragma Import (C, gzsetparams, "gzsetparams");
 | 
      
         | 405 |  |  |    pragma Import (C, gzread, "gzread");
 | 
      
         | 406 |  |  |    pragma Import (C, gzwrite, "gzwrite");
 | 
      
         | 407 |  |  |    pragma Import (C, gzprintf, "gzprintf");
 | 
      
         | 408 |  |  |    pragma Import (C, gzputs, "gzputs");
 | 
      
         | 409 |  |  |    pragma Import (C, gzgets, "gzgets");
 | 
      
         | 410 |  |  |    pragma Import (C, gzputc, "gzputc");
 | 
      
         | 411 |  |  |    pragma Import (C, gzgetc, "gzgetc");
 | 
      
         | 412 |  |  |    pragma Import (C, gzflush, "gzflush");
 | 
      
         | 413 |  |  |    pragma Import (C, gzseek, "gzseek");
 | 
      
         | 414 |  |  |    pragma Import (C, gzrewind, "gzrewind");
 | 
      
         | 415 |  |  |    pragma Import (C, gztell, "gztell");
 | 
      
         | 416 |  |  |    pragma Import (C, gzeof, "gzeof");
 | 
      
         | 417 |  |  |    pragma Import (C, gzclose, "gzclose");
 | 
      
         | 418 |  |  |    pragma Import (C, gzerror, "gzerror");
 | 
      
         | 419 |  |  |    pragma Import (C, adler32, "adler32");
 | 
      
         | 420 |  |  |    pragma Import (C, crc32, "crc32");
 | 
      
         | 421 |  |  |    pragma Import (C, deflateInit, "deflateInit_");
 | 
      
         | 422 |  |  |    pragma Import (C, inflateInit, "inflateInit_");
 | 
      
         | 423 |  |  |    pragma Import (C, deflateInit2, "deflateInit2_");
 | 
      
         | 424 |  |  |    pragma Import (C, inflateInit2, "inflateInit2_");
 | 
      
         | 425 |  |  |    pragma Import (C, zError, "zError");
 | 
      
         | 426 |  |  |    pragma Import (C, inflateSyncPoint, "inflateSyncPoint");
 | 
      
         | 427 |  |  |    pragma Import (C, get_crc_table, "get_crc_table");
 | 
      
         | 428 |  |  |  
 | 
      
         | 429 |  |  |    --  since zlib 1.2.0:
 | 
      
         | 430 |  |  |  
 | 
      
         | 431 |  |  |    pragma Import (C, inflateCopy, "inflateCopy");
 | 
      
         | 432 |  |  |    pragma Import (C, compressBound, "compressBound");
 | 
      
         | 433 |  |  |    pragma Import (C, deflateBound, "deflateBound");
 | 
      
         | 434 |  |  |    pragma Import (C, gzungetc, "gzungetc");
 | 
      
         | 435 |  |  |    pragma Import (C, zlibCompileFlags, "zlibCompileFlags");
 | 
      
         | 436 |  |  |  
 | 
      
         | 437 |  |  |    pragma Import (C, inflateBackInit, "inflateBackInit_");
 | 
      
         | 438 |  |  |  
 | 
      
         | 439 |  |  |    --  I stopped binding the inflateBack routines, becouse realize that
 | 
      
         | 440 |  |  |    --  it does not support zlib and gzip headers for now, and have no
 | 
      
         | 441 |  |  |    --  symmetric deflateBack routines.
 | 
      
         | 442 |  |  |    --  ZLib-Ada is symmetric regarding deflate/inflate data transformation
 | 
      
         | 443 |  |  |    --  and has a similar generic callback interface for the
 | 
      
         | 444 |  |  |    --  deflate/inflate transformation based on the regular Deflate/Inflate
 | 
      
         | 445 |  |  |    --  routines.
 | 
      
         | 446 |  |  |  
 | 
      
         | 447 |  |  |    --  pragma Import (C, inflateBack, "inflateBack");
 | 
      
         | 448 |  |  |    --  pragma Import (C, inflateBackEnd, "inflateBackEnd");
 | 
      
         | 449 |  |  |  
 | 
      
         | 450 |  |  | end ZLib.Thin;
 |