/* * Copyright 2010 Srikanth Reddy Lingala * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package net.lingala.zip4j.util; public interface InternalZipConstants { /* * Header signatures */ // Whenever a new Signature is added here, make sure to add it // in Zip4jUtil.getAllHeaderSignatures() static long LOCSIG = 0x04034b50L; // "PK\003\004" static long EXTSIG = 0x08074b50L; // "PK\007\008" static long CENSIG = 0x02014b50L; // "PK\001\002" static long ENDSIG = 0x06054b50L; // "PK\005\006" static long DIGSIG = 0x05054b50L; static long ARCEXTDATREC = 0x08064b50L; static long SPLITSIG = 0x08074b50L; static long ZIP64ENDCENDIRLOC = 0x07064b50L; static long ZIP64ENDCENDIRREC = 0x06064b50; static int EXTRAFIELDZIP64LENGTH = 0x0001; static int AESSIG = 0x9901; /* * Header sizes in bytes (including signatures) */ static final int LOCHDR = 30; // LOC header size static final int EXTHDR = 16; // EXT header size static final int CENHDR = 46; // CEN header size static final int ENDHDR = 22; // END header size /* * Local file (LOC) header field offsets */ static final int LOCVER = 4; // version needed to extract static final int LOCFLG = 6; // general purpose bit flag static final int LOCHOW = 8; // compression method static final int LOCTIM = 10; // modification time static final int LOCCRC = 14; // uncompressed file crc-32 value static final int LOCSIZ = 18; // compressed size static final int LOCLEN = 22; // uncompressed size static final int LOCNAM = 26; // filename length static final int LOCEXT = 28; // extra field length /* * Extra local (EXT) header field offsets */ static final int EXTCRC = 4; // uncompressed file crc-32 value static final int EXTSIZ = 8; // compressed size static final int EXTLEN = 12; // uncompressed size /* * Central directory (CEN) header field offsets */ static final int CENVEM = 4; // version made by static final int CENVER = 6; // version needed to extract static final int CENFLG = 8; // encrypt, decrypt flags static final int CENHOW = 10; // compression method static final int CENTIM = 12; // modification time static final int CENCRC = 16; // uncompressed file crc-32 value static final int CENSIZ = 20; // compressed size static final int CENLEN = 24; // uncompressed size static final int CENNAM = 28; // filename length static final int CENEXT = 30; // extra field length static final int CENCOM = 32; // comment length static final int CENDSK = 34; // disk number start static final int CENATT = 36; // internal file attributes static final int CENATX = 38; // external file attributes static final int CENOFF = 42; // LOC header offset /* * End of central directory (END) header field offsets */ static final int ENDSUB = 8; // number of entries on this disk static final int ENDTOT = 10; // total number of entries static final int ENDSIZ = 12; // central directory size in bytes static final int ENDOFF = 16; // offset of first CEN header static final int ENDCOM = 20; // zip file comment length static final int STD_DEC_HDR_SIZE = 12; //AES Constants static final int AES_AUTH_LENGTH = 10; static final int AES_BLOCK_SIZE = 16; static final int MIN_SPLIT_LENGTH = 65536; static final long ZIP_64_LIMIT = 4294967295L; public static String OFFSET_CENTRAL_DIR = "offsetCentralDir"; public static final String VERSION = "1.3.2"; public static final int MODE_ZIP = 1; public static final int MODE_UNZIP = 2; public static final String WRITE_MODE = "rw"; public static final String READ_MODE = "r"; public static final int BUFF_SIZE = 1024 * 4; public static final int FILE_MODE_NONE = 0; public static final int FILE_MODE_READ_ONLY = 1; public static final int FILE_MODE_HIDDEN = 2; public static final int FILE_MODE_ARCHIVE = 32; public static final int FILE_MODE_READ_ONLY_HIDDEN = 3; public static final int FILE_MODE_READ_ONLY_ARCHIVE = 33; public static final int FILE_MODE_HIDDEN_ARCHIVE = 34; public static final int FILE_MODE_READ_ONLY_HIDDEN_ARCHIVE = 35; public static final int FILE_MODE_SYSTEM = 38; public static final int FOLDER_MODE_NONE = 16; public static final int FOLDER_MODE_HIDDEN = 18; public static final int FOLDER_MODE_ARCHIVE = 48; public static final int FOLDER_MODE_HIDDEN_ARCHIVE = 50; // Update local file header constants // This value holds the number of bytes to skip from // the offset of start of local header public static final int UPDATE_LFH_CRC = 14; public static final int UPDATE_LFH_COMP_SIZE = 18; public static final int UPDATE_LFH_UNCOMP_SIZE = 22; public static final int LIST_TYPE_FILE = 1; public static final int LIST_TYPE_STRING = 2; public static final int UFT8_NAMES_FLAG = 1 << 11; public static final String CHARSET_UTF8 = "UTF8"; public static final String CHARSET_CP850 = "Cp850"; public static final String CHARSET_COMMENTS_DEFAULT = "windows-1254"; public static final String CHARSET_DEFAULT = System.getProperty("file.encoding"); public static final String FILE_SEPARATOR = System.getProperty("file.separator"); public static final String ZIP_FILE_SEPARATOR = "/"; public static final String THREAD_NAME = "Zip4j"; public static final int MAX_ALLOWED_ZIP_COMMENT_LENGTH = 0xFFFF; }