Source file : zip-compress-deflate.ads
1 -- The "Deflate" method combines the LZ77 compression
2 -- method with some Huffman encoding gymnastics.
3 --
4 -- See body for technical details.
5 --
6 -- Author: G. de Montmollin, February 2011 and later
7 --
8 -- Legal licensing note:
9
10 -- Copyright (c) 2011 .. 2023 Gautier de Montmollin
11 -- SWITZERLAND
12
13 -- Permission is hereby granted, free of charge, to any person obtaining a copy
14 -- of this software and associated documentation files (the "Software"), to deal
15 -- in the Software without restriction, including without limitation the rights
16 -- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
17 -- copies of the Software, and to permit persons to whom the Software is
18 -- furnished to do so, subject to the following conditions:
19
20 -- The above copyright notice and this permission notice shall be included in
21 -- all copies or substantial portions of the Software.
22
23 -- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
24 -- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
25 -- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
26 -- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
27 -- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
28 -- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
29 -- THE SOFTWARE.
30
31 -- NB: this is the MIT License, as found on the site
32 -- http://www.opensource.org/licenses/mit-license.php
33
34 with Zip.CRC_Crypto;
35
36 private procedure Zip.Compress.Deflate
37 (input,
38 output : in out Zip_Streams.Root_Zipstream_Type'Class;
39 input_size_known : Boolean;
40 input_size : Zip_64_Data_Size_Type; -- ignored if unknown
41 feedback : Feedback_Proc;
42 method : Deflation_Method;
43 CRC : in out Interfaces.Unsigned_32; -- only updated here
44 crypto : in out CRC_Crypto.Crypto_pack;
45 output_size : out Zip_64_Data_Size_Type;
46 compression_ok : out Boolean); -- indicates when compressed <= uncompressed
Web view of Ada source code generated by GNATHTML, project: ALI_Parse version 1.0.
Zip-Ada: Ada library for zip archive files (.zip).
Ada programming.
Some news about Zip-Ada and other Ada projects
on Gautier's blog.