1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
23 module com
{ module sun
{ module star
{ module packages
{ module zip
{
26 /** defines the constants used by the ZIP interfaces.
28 published constants ZipConstants
30 /** Compression method for the deflate algorithm (the only one currently
33 const short DEFLATED
= 8;
35 /** Compression level for no compression.
37 const short NO_COMPRESSION
= 0;
39 /** Compression level for fastest compression
41 const short BEST_SPEED
= 1;
43 /** Compression level for best compression
45 const short BEST_COMPRESSION
= 9;
47 /** Default compression level.
49 const short DEFAULT_COMPRESSION
= -1;
51 /** Compression strategy best used for data consisting mostly of small
52 values with a somewhat random distribution. Forces more Huffman
53 coding and less string matching.
55 const short FILTERED
= 1;
57 /** Compression strategy for Huffman coding only.
59 const short HUFFMAN_ONLY
= 2;
61 /** Default compression strategy
63 const short DEFAULT_STRATEGY
= 0;
65 /** entry is uncompressed
67 const short STORED
= 0;
69 /** entry is uncompressed
71 const short DEF_MEM_LEVEL
= 8;
73 /** Header Signature: "PK\003\004"
75 const long LOCSIG
= 0x04034b50;
77 /** Header Signature: "PK\007\008"
79 const long EXTSIG
= 0x08074b50;
81 /** Header Signature: "PK\001\002"
83 const long CENSIG
= 0x02014b50;
85 /** Header Signature: "PK\005\006"
87 const long ENDSIG
= 0x06054b50;
89 /** Header Signature: "PK\007\008"
91 const long SPANSIG
= 0x08074b50;
93 /** LOC header size in bytes (including signatures)
95 const short LOCHDR
= 30;
97 /** EXT header size in bytes (including signatures)
99 const short EXTHDR
= 16;
101 /** CEN header size in bytes (including signatures)
103 const short CENHDR
= 46;
105 /** END header size in bytes (including signatures)
107 const short ENDHDR
= 22;
110 /** LOC header field "version needed to extract" offset
112 const short LOCVER
= 4;
114 /** LOC header field "general purpose bit flags" offset
116 const short LOCFLG
= 6;
118 /** LOC header field "compression method" offset
120 const short LOCHOW
= 8;
122 /** LOC header field "modification time" offset
124 const short LOCTIM
= 10;
126 /** LOC header field "CRC of uncompressed data" offset
128 const short LOCCRC
= 14;
130 /** LOC header field "compressed data size" offset
132 const short LOCSIZ
= 18;
134 /** LOC header field "uncompressed data size" offset
136 const short LOCLEN
= 22;
138 /** LOC header field "filename length" offset
140 const short LOCNAM
= 26;
142 /** LOC header field "extra field length" offset
144 const short LOCEXT
= 28;
146 /** EXT header field "CRC of uncompressed data" offsets
148 const short EXTCRC
= 4;
150 /** EXT header field "compressed size" offsets
152 const short EXTSIZ
= 8;
154 /** EXT header field "uncompressed size" offsets
156 const short EXTLEN
= 12;
158 /** CEN header field "version made by" offset
160 const short CENVEM
= 4;
162 /** CEN header field "version needed to extract" offset
164 const short CENVER
= 6;
166 /** CEN header field "general purpose bit flags" offset
168 const short CENFLG
= 8;
170 /** CEN header field "compression method" offset
172 const short CENHOW
= 10;
174 /** CEN header field "modification time" offset
176 const short CENTIM
= 12;
178 /** CEN header field "modification time" offset
180 const short CENDAT
= 14;
182 /** CEN header field "CRC of uncompressed data" offset
184 const short CENCRC
= 16;
186 /** CEN header field "compressed size" offset
188 const short CENSIZ
= 20;
190 /** CEN header field "uncompressed size" offset
192 const short CENLEN
= 24;
194 /** CEN header field "length of filename" offset
196 const short CENNAM
= 28;
198 /** CEN header field "length of extra field" offset
200 const short CENEXT
= 30;
202 /** CEN header field "file comment length" offset
204 const short CENCOM
= 32;
206 /** CEN header field "disk number start" offset
208 const short CENDSK
= 34;
210 /** CEN header field "internal file attributes" offset
212 const short CENATT
= 36;
214 /** CEN header field "external file attributes" offset
216 const short CENATX
= 38;
218 /** CEN header field "offset of local header" offset
220 const short CENOFF
= 42;
222 /** END header field "number of entries on this disk" offset
224 const short ENDSUB
= 8;
226 /** END header field "total number of entries" offset
228 const short ENDTOT
= 10;
230 /** END header field "central directory size" offset
232 const short ENDSIZ
= 12;
234 /** END header field "central directory offset" offset
236 const short ENDOFF
= 16;
238 /** END header field "size of zip file comment" offset
240 const short ENDCOM
= 20;
246 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */