1 /* 2 * @(#)ZipConstants.java 1.19 05/11/17 3 * 4 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 5 * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. 6 */ 7 8 package org.varienaja.util; 9 10 /* 11 * This interface defines the constants that are used by the classes 12 * which manipulate ZIP files. 13 * 14 * @version 1.19, 11/17/05 15 * @author David Connelly 16 */ 17 interface ZipConstants { 18 /* 19 * Header signatures 20 */ 21 static long LOCSIG = 0x04034b50L; // "PK\003\004" 22 static long EXTSIG = 0x08074b50L; // "PK\007\008" 23 static long CENSIG = 0x02014b50L; // "PK\001\002" 24 static long ENDSIG = 0x06054b50L; // "PK\005\006" 25 26 /* 27 * Header sizes in bytes (including signatures) 28 */ 29 static final int LOCHDR = 30; // LOC header size 30 static final int EXTHDR = 16; // EXT header size 31 static final int CENHDR = 46; // CEN header size 32 static final int ENDHDR = 22; // END header size 33 34 /* 35 * Local file (LOC) header field offsets 36 */ 37 static final int LOCVER = 4; // version needed to extract 38 static final int LOCFLG = 6; // general purpose bit flag 39 static final int LOCHOW = 8; // compression method 40 static final int LOCTIM = 10; // modification time 41 static final int LOCCRC = 14; // uncompressed file crc-32 value 42 static final int LOCSIZ = 18; // compressed size 43 static final int LOCLEN = 22; // uncompressed size 44 static final int LOCNAM = 26; // filename length 45 static final int LOCEXT = 28; // extra field length 46 47 /* 48 * Extra local (EXT) header field offsets 49 */ 50 static final int EXTCRC = 4; // uncompressed file crc-32 value 51 static final int EXTSIZ = 8; // compressed size 52 static final int EXTLEN = 12; // uncompressed size 53 54 /* 55 * Central directory (CEN) header field offsets 56 */ 57 static final int CENVEM = 4; // version made by 58 static final int CENVER = 6; // version needed to extract 59 static final int CENFLG = 8; // encrypt, decrypt flags 60 static final int CENHOW = 10; // compression method 61 static final int CENTIM = 12; // modification time 62 static final int CENCRC = 16; // uncompressed file crc-32 value 63 static final int CENSIZ = 20; // compressed size 64 static final int CENLEN = 24; // uncompressed size 65 static final int CENNAM = 28; // filename length 66 static final int CENEXT = 30; // extra field length 67 static final int CENCOM = 32; // comment length 68 static final int CENDSK = 34; // disk number start 69 static final int CENATT = 36; // internal file attributes 70 static final int CENATX = 38; // external file attributes 71 static final int CENOFF = 42; // LOC header offset 72 73 /* 74 * End of central directory (END) header field offsets 75 */ 76 static final int ENDSUB = 8; // number of entries on this disk 77 static final int ENDTOT = 10; // total number of entries 78 static final int ENDSIZ = 12; // central directory size in bytes 79 static final int ENDOFF = 16; // offset of first CEN header 80 static final int ENDCOM = 20; // zip file comment length 81 }