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 28 /* Local file head offsets. The header is followed by the filename and 29 possibly the extra field. */ 30 #define zf_lfhSig 0 31 #define zf_lfhExVers 4 32 #define zf_lfhFlags 6 33 #define zf_lfhComp 8 34 #define zf_lfhModTime 10 35 #define zf_lfhModDate 12 36 #define zf_lfhCRC 14 37 #define zf_lfhCompSize 18 38 #define zf_lfhUncompSize 22 39 #define zf_lfhNameLen 26 40 #define zf_lfhExtraLen 28 41 #define zf_lfhSIZE 30 /* total size of header */ 42 43 /* We don't write data descriptors. */ 44 45 /* Central dir file header offsets. Each entry is followed by the filename, 46 optional extra field, and file comment. */ 47 #define zf_cdhSig 0 48 #define zf_cdhVers 4 49 #define zf_cdhExVers 6 50 #define zf_cdhFlags 8 51 #define zf_cdhComp 10 52 #define zf_cdhTime 12 53 #define zf_cdhDate 14 54 #define zf_cdhCRC 16 55 #define zf_cdhCompSize 20 56 #define zf_cdhUncompSize 24 57 #define zf_cdhNameLen 28 58 #define zf_cdhExtraLen 30 59 #define zf_cdhCommentLen 32 60 #define zf_cdhDiskNum 34 61 #define zf_cdhIFAttrs 36 62 #define zf_cdhEFAttrs 38 63 #define zf_cdhLHOffset 42 64 #define zf_cdhSIZE 46 /* total size of header */ 65 66 /* End of central dir record offsets. It is followed by the zipfile 67 comment. */ 68 #define zf_ecdSig 0 69 #define zf_ecdDiskNum 4 70 #define zf_ecdDirDiskNum 6 71 #define zf_ecdNumEntries 8 72 #define zf_ecdTotalEntries 10 73 #define zf_ecdDirSize 12 74 #define zf_ecdDirOffset 16 75 #define zf_ecdCommentLen 20 76 #define zf_ecdSIZE 22 /* total size */ 77 78 /* Magic constants to put in these structures. */ 79 #define zf_LFHSIGValue 0x04034b50 80 #define zf_CDHSIGValue 0x02014b50 81 #define zf_ECDSIGValue 0x06054b50 82 83 /* OS values for upper byte of version field. */ 84 #define zf_osUnix 3 85 86 /* Encode a major,minor version in a byte. */ 87 #define zf_Vers(major,minor) ((major) * 10 + (minor)) 88 89 /* Compression values. */ 90 #define zf_compNone 0 91 92