jdk/src/share/classes/java/util/zip/ZipConstants.java
changeset 2 90ce3da70b43
child 5506 202f599c92aa
equal deleted inserted replaced
0:fd16c54261b3 2:90ce3da70b43
       
     1 /*
       
     2  * Copyright 1995-1996 Sun Microsystems, Inc.  All Rights Reserved.
       
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
       
     4  *
       
     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.  Sun designates this
       
     8  * particular file as subject to the "Classpath" exception as provided
       
     9  * by Sun in the LICENSE file that accompanied this code.
       
    10  *
       
    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).
       
    16  *
       
    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.
       
    20  *
       
    21  * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
       
    22  * CA 95054 USA or visit www.sun.com if you need additional information or
       
    23  * have any questions.
       
    24  */
       
    25 
       
    26 package java.util.zip;
       
    27 
       
    28 /*
       
    29  * This interface defines the constants that are used by the classes
       
    30  * which manipulate ZIP files.
       
    31  *
       
    32  * @author      David Connelly
       
    33  */
       
    34 interface ZipConstants {
       
    35     /*
       
    36      * Header signatures
       
    37      */
       
    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"
       
    42 
       
    43     /*
       
    44      * Header sizes in bytes (including signatures)
       
    45      */
       
    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
       
    50 
       
    51     /*
       
    52      * Local file (LOC) header field offsets
       
    53      */
       
    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
       
    63 
       
    64     /*
       
    65      * Extra local (EXT) header field offsets
       
    66      */
       
    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
       
    70 
       
    71     /*
       
    72      * Central directory (CEN) header field offsets
       
    73      */
       
    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
       
    89 
       
    90     /*
       
    91      * End of central directory (END) header field offsets
       
    92      */
       
    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
       
    98 }