1/************************************************************************* 2 * 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * Copyright 2000, 2010 Oracle and/or its affiliates. 6 * 7 * OpenOffice.org - a multi-platform office productivity suite 8 * 9 * This file is part of OpenOffice.org. 10 * 11 * OpenOffice.org is free software: you can redistribute it and/or modify 12 * it under the terms of the GNU Lesser General Public License version 3 13 * only, as published by the Free Software Foundation. 14 * 15 * OpenOffice.org is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 * GNU Lesser General Public License version 3 for more details 19 * (a copy is included in the LICENSE file that accompanied this code). 20 * 21 * You should have received a copy of the GNU Lesser General Public License 22 * version 3 along with OpenOffice.org. If not, see 23 * <http://www.openoffice.org/license.html> 24 * for a copy of the LGPLv3 License. 25 * 26 ************************************************************************/ 27#ifndef __com_sun_star_package_zip_ZipConstants_idl__ 28#define __com_sun_star_package_zip_ZipConstants_idl__ 29 30 31 32//============================================================================= 33 34module com { module sun { module star { module packages { module zip { 35 36//============================================================================= 37 38/** defines the constants used by the ZIP interfaces. 39 */ 40published constants ZipConstants 41{ 42 //------------------------------------------------------------------------- 43 /** Compression method for the deflate algorithm (the only one currently 44 supported). 45 */ 46 const short DEFLATED = 8; 47 48 //------------------------------------------------------------------------- 49 /** Compression level for no compression. 50 */ 51 const short NO_COMPRESSION = 0; 52 53 //------------------------------------------------------------------------- 54 /** Compression level for fastest compression 55 */ 56 const short BEST_SPEED = 1; 57 58 //------------------------------------------------------------------------- 59 /** Compression level for best compression 60 */ 61 const short BEST_COMPRESSION = 9; 62 63 //------------------------------------------------------------------------- 64 /** Default compression level. 65 */ 66 const short DEFAULT_COMPRESSION = -1; 67 68 //------------------------------------------------------------------------- 69 /** Compression strategy best used for data consisting mostly of small 70 values with a somewhat random distribution. Forces more Huffman 71 coding and less string matching. 72 */ 73 const short FILTERED = 1; 74 75 //------------------------------------------------------------------------- 76 /** Compression strategy for Huffman coding only. 77 */ 78 const short HUFFMAN_ONLY = 2; 79 80 //------------------------------------------------------------------------- 81 /** Default compression strategy 82 */ 83 const short DEFAULT_STRATEGY = 0; 84 85 //------------------------------------------------------------------------- 86 /** entry is uncompressed 87 */ 88 const short STORED = 0; 89 90 //------------------------------------------------------------------------- 91 /** entry is uncompressed 92 */ 93 const short DEF_MEM_LEVEL = 8; 94 95 //------------------------------------------------------------------------- 96 /** Header Signature: "PK\003\004" 97 */ 98 const long LOCSIG = 0x04034b50; 99 100 //------------------------------------------------------------------------- 101 /** Header Signature: "PK\007\008" 102 */ 103 const long EXTSIG = 0x08074b50; 104 105 //------------------------------------------------------------------------- 106 /** Header Signature: "PK\001\002" 107 */ 108 const long CENSIG = 0x02014b50; 109 110 //------------------------------------------------------------------------- 111 /** Header Signature: "PK\005\006" 112 */ 113 const long ENDSIG = 0x06054b50; 114 115 //------------------------------------------------------------------------- 116 /** Header Signature: "PK\007\008" 117 */ 118 const long SPANSIG = 0x08074b50; 119 120 //------------------------------------------------------------------------- 121 /** LOC header size in bytes (including signatures) 122 */ 123 const short LOCHDR = 30; 124 125 //------------------------------------------------------------------------- 126 /** EXT header size in bytes (including signatures) 127 */ 128 const short EXTHDR = 16; 129 130 //------------------------------------------------------------------------- 131 /** CEN header size in bytes (including signatures) 132 */ 133 const short CENHDR = 46; 134 135 //------------------------------------------------------------------------- 136 /** END header size in bytes (including signatures) 137 */ 138 const short ENDHDR = 22; 139 140 //------------------------------------------------------------------------- 141 /// LOC LOC LOC 142 /** LOC header field "version needed to extract" offset 143 */ 144 const short LOCVER = 4; 145 146 //------------------------------------------------------------------------- 147 /** LOC header field "general purpose bit flags" offset 148 */ 149 const short LOCFLG = 6; 150 151 //------------------------------------------------------------------------- 152 /** LOC header field "compression method" offset 153 */ 154 const short LOCHOW = 8; 155 156 //------------------------------------------------------------------------- 157 /** LOC header field "modification time" offset 158 */ 159 const short LOCTIM = 10; 160 161 //------------------------------------------------------------------------- 162 /** LOC header field "crc of uncompressed data" offset 163 */ 164 const short LOCCRC = 14; 165 166 //------------------------------------------------------------------------- 167 /** LOC header field "compressed data size" offset 168 */ 169 const short LOCSIZ = 18; 170 171 //------------------------------------------------------------------------- 172 /** LOC header field "uncompressed data size" offset 173 */ 174 const short LOCLEN = 22; 175 176 //------------------------------------------------------------------------- 177 /** LOC header field "filename length" offset 178 */ 179 const short LOCNAM = 26; 180 181 //------------------------------------------------------------------------- 182 /** LOC header field "extra field length" offset 183 */ 184 const short LOCEXT = 28; 185 186 //------------------------------------------------------------------------- 187 /** EXT header field "crc of uncompressed data" offsets 188 */ 189 const short EXTCRC = 4; 190 191 //------------------------------------------------------------------------- 192 /** EXT header field "compressed size" offsets 193 */ 194 const short EXTSIZ = 8; 195 196 //------------------------------------------------------------------------- 197 /** EXT header field "uncompressed size" offsets 198 */ 199 const short EXTLEN = 12; 200 201 //------------------------------------------------------------------------- 202 /** CEN header field "version made by" offset 203 */ 204 const short CENVEM = 4; 205 206 //------------------------------------------------------------------------- 207 /** CEN header field "version needed to extract" offset 208 */ 209 const short CENVER = 6; 210 211 //------------------------------------------------------------------------- 212 /** CEN header field "general purpose bit flags" offset 213 */ 214 const short CENFLG = 8; 215 216 //------------------------------------------------------------------------- 217 /** CEN header field "compression method" offset 218 */ 219 const short CENHOW = 10; 220 221 //------------------------------------------------------------------------- 222 /** CEN header field "modification time" offset 223 */ 224 const short CENTIM = 12; 225 226 //------------------------------------------------------------------------- 227 /** CEN header field "modification time" offset 228 */ 229 const short CENDAT = 14; 230 231 //------------------------------------------------------------------------- 232 /** CEN header field "crc of uncompressed data" offset 233 */ 234 const short CENCRC = 16; 235 236 //------------------------------------------------------------------------- 237 /** CEN header field "compressed size" offset 238 */ 239 const short CENSIZ = 20; 240 241 //------------------------------------------------------------------------- 242 /** CEN header field "uncompressed size" offset 243 */ 244 const short CENLEN = 24; 245 246 //------------------------------------------------------------------------- 247 /** CEN header field "length of filename" offset 248 */ 249 const short CENNAM = 28; 250 251 //------------------------------------------------------------------------- 252 /** CEN header field "length of extra field" offset 253 */ 254 const short CENEXT = 30; 255 256 //------------------------------------------------------------------------- 257 /** CEN header field "file comment length" offset 258 */ 259 const short CENCOM = 32; 260 261 //------------------------------------------------------------------------- 262 /** CEN header field "disk number start" offset 263 */ 264 const short CENDSK = 34; 265 266 //------------------------------------------------------------------------- 267 /** CEN header field "internal file attributes" offset 268 */ 269 const short CENATT = 36; 270 271 //------------------------------------------------------------------------- 272 /** CEN header field "external file attributes" offset 273 */ 274 const short CENATX = 38; 275 276 //------------------------------------------------------------------------- 277 /** CEN header field "offset of local header" offset 278 */ 279 const short CENOFF = 42; 280 281 //------------------------------------------------------------------------- 282 /** END header field "number of entries on this disk" offset 283 */ 284 const short ENDSUB = 8; 285 286 //------------------------------------------------------------------------- 287 /** END header field "total number of entries" offset 288 */ 289 const short ENDTOT = 10; 290 291 //------------------------------------------------------------------------- 292 /** END header field "central directory size" offset 293 */ 294 const short ENDSIZ = 12; 295 296 //------------------------------------------------------------------------- 297 /** END header field "central directory offset" offset 298 */ 299 const short ENDOFF = 16; 300 301 //------------------------------------------------------------------------- 302 /** END header field "size of zip file comment" offset 303 */ 304 const short ENDCOM = 20; 305 306}; 307//============================================================================= 308 309}; }; }; }; }; 310 311#endif 312