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