Rebasing the Inflater support on jzlib which, unlike GNU ClassPath, has correct implementation of Huffman code. Making the implementation more easily testable by turning Inflater and ZipInputStream into pure delegates. Current implementation is going to need proper long support.
2 * Copyright (c) 1995, 1996, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. Oracle designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Oracle in the LICENSE file that accompanied this code.
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
26 package java.util.zip;
29 * This interface defines the constants that are used by the classes
30 * which manipulate ZIP files.
32 * @author David Connelly
34 interface ZipConstants {
38 static long LOCSIG = 0x04034b50L; // "PK\003\004"
39 static long EXTSIG = 0x08074b50L; // "PK\007\008"
40 static long CENSIG = 0x02014b50L; // "PK\001\002"
41 static long ENDSIG = 0x06054b50L; // "PK\005\006"
44 * Header sizes in bytes (including signatures)
46 static final int LOCHDR = 30; // LOC header size
47 static final int EXTHDR = 16; // EXT header size
48 static final int CENHDR = 46; // CEN header size
49 static final int ENDHDR = 22; // END header size
52 * Local file (LOC) header field offsets
54 static final int LOCVER = 4; // version needed to extract
55 static final int LOCFLG = 6; // general purpose bit flag
56 static final int LOCHOW = 8; // compression method
57 static final int LOCTIM = 10; // modification time
58 static final int LOCCRC = 14; // uncompressed file crc-32 value
59 static final int LOCSIZ = 18; // compressed size
60 static final int LOCLEN = 22; // uncompressed size
61 static final int LOCNAM = 26; // filename length
62 static final int LOCEXT = 28; // extra field length
65 * Extra local (EXT) header field offsets
67 static final int EXTCRC = 4; // uncompressed file crc-32 value
68 static final int EXTSIZ = 8; // compressed size
69 static final int EXTLEN = 12; // uncompressed size
72 * Central directory (CEN) header field offsets
74 static final int CENVEM = 4; // version made by
75 static final int CENVER = 6; // version needed to extract
76 static final int CENFLG = 8; // encrypt, decrypt flags
77 static final int CENHOW = 10; // compression method
78 static final int CENTIM = 12; // modification time
79 static final int CENCRC = 16; // uncompressed file crc-32 value
80 static final int CENSIZ = 20; // compressed size
81 static final int CENLEN = 24; // uncompressed size
82 static final int CENNAM = 28; // filename length
83 static final int CENEXT = 30; // extra field length
84 static final int CENCOM = 32; // comment length
85 static final int CENDSK = 34; // disk number start
86 static final int CENATT = 36; // internal file attributes
87 static final int CENATX = 38; // external file attributes
88 static final int CENOFF = 42; // LOC header offset
91 * End of central directory (END) header field offsets
93 static final int ENDSUB = 8; // number of entries on this disk
94 static final int ENDTOT = 10; // total number of entries
95 static final int ENDSIZ = 12; // central directory size in bytes
96 static final int ENDOFF = 16; // offset of first CEN header
97 static final int ENDCOM = 20; // zip file comment length