001: /*
002: * @(#)ZipConstants.java 1.22 06/10/10
003: *
004: * Copyright 1990-2006 Sun Microsystems, Inc. All Rights Reserved.
005: * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER
006: *
007: * This program is free software; you can redistribute it and/or
008: * modify it under the terms of the GNU General Public License version
009: * 2 only, as published by the Free Software Foundation.
010: *
011: * This program is distributed in the hope that it will be useful, but
012: * WITHOUT ANY WARRANTY; without even the implied warranty of
013: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
014: * General Public License version 2 for more details (a copy is
015: * included at /legal/license.txt).
016: *
017: * You should have received a copy of the GNU General Public License
018: * version 2 along with this work; if not, write to the Free Software
019: * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
020: * 02110-1301 USA
021: *
022: * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
023: * Clara, CA 95054 or visit www.sun.com if you need additional
024: * information or have any questions.
025: *
026: */
027:
028: package java.util.zip;
029:
030: /*
031: * This interface defines the constants that are used by the classes
032: * which manipulate ZIP files.
033: *
034: * @version 1.15, 02/02/00
035: * @author David Connelly
036: */
037: interface ZipConstants {
038: /*
039: * Header signatures
040: */
041: static long LOCSIG = 0x04034b50L; // "PK\003\004"
042: static long EXTSIG = 0x08074b50L; // "PK\007\008"
043: static long CENSIG = 0x02014b50L; // "PK\001\002"
044: static long ENDSIG = 0x06054b50L; // "PK\005\006"
045:
046: /*
047: * Header sizes in bytes (including signatures)
048: */
049: static final int LOCHDR = 30; // LOC header size
050: static final int EXTHDR = 16; // EXT header size
051: static final int CENHDR = 46; // CEN header size
052: static final int ENDHDR = 22; // END header size
053:
054: /*
055: * Local file (LOC) header field offsets
056: */
057: static final int LOCVER = 4; // version needed to extract
058: static final int LOCFLG = 6; // general purpose bit flag
059: static final int LOCHOW = 8; // compression method
060: static final int LOCTIM = 10; // modification time
061: static final int LOCCRC = 14; // uncompressed file crc-32 value
062: static final int LOCSIZ = 18; // compressed size
063: static final int LOCLEN = 22; // uncompressed size
064: static final int LOCNAM = 26; // filename length
065: static final int LOCEXT = 28; // extra field length
066:
067: /*
068: * Extra local (EXT) header field offsets
069: */
070: static final int EXTCRC = 4; // uncompressed file crc-32 value
071: static final int EXTSIZ = 8; // compressed size
072: static final int EXTLEN = 12; // uncompressed size
073:
074: /*
075: * Central directory (CEN) header field offsets
076: */
077: static final int CENVEM = 4; // version made by
078: static final int CENVER = 6; // version needed to extract
079: static final int CENFLG = 8; // encrypt, decrypt flags
080: static final int CENHOW = 10; // compression method
081: static final int CENTIM = 12; // modification time
082: static final int CENCRC = 16; // uncompressed file crc-32 value
083: static final int CENSIZ = 20; // compressed size
084: static final int CENLEN = 24; // uncompressed size
085: static final int CENNAM = 28; // filename length
086: static final int CENEXT = 30; // extra field length
087: static final int CENCOM = 32; // comment length
088: static final int CENDSK = 34; // disk number start
089: static final int CENATT = 36; // internal file attributes
090: static final int CENATX = 38; // external file attributes
091: static final int CENOFF = 42; // LOC header offset
092:
093: /*
094: * End of central directory (END) header field offsets
095: */
096: static final int ENDSUB = 8; // number of entries on this disk
097: static final int ENDTOT = 10; // total number of entries
098: static final int ENDSIZ = 12; // central directory size in bytes
099: static final int ENDOFF = 16; // offset of first CEN header
100: static final int ENDCOM = 20; // zip file comment length
101: }
|