blob: 402c074fbcba21979282086920361922eea1493d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
|
/**
* Navit, a modular navigation system.
* Copyright (C) 2005-2008 Navit Team
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public License
* version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this program; if not, write to the
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301, USA.
*/
#ifndef __ZIPFILE_H__
#ifdef HAVE_API_WIN32_CE
#warning OK
/* cegcc doesn't honor the __attribute__(packed) need pragma to work */
#pragma pack(push)
#pragma pack(1)
#endif
#define zip_lfh_sig 0x04034b50
struct zip_lfh {
int ziplocsig;
short zipver;
short zipgenfld;
short zipmthd;
short ziptime;
short zipdate;
int zipcrc;
unsigned int zipsize;
unsigned int zipuncmp;
unsigned short zipfnln;
unsigned short zipxtraln;
char zipname[0];
} __attribute__ ((packed));
#define zip_cd_sig 0x02014b50
struct zip_cd {
int zipcensig;
char zipcver;
char zipcos;
char zipcvxt;
char zipcexos;
short zipcflg;
short zipcmthd;
short ziptim;
short zipdat;
int zipccrc;
unsigned int zipcsiz;
unsigned int zipcunc;
unsigned short zipcfnl;
unsigned short zipcxtl;
unsigned short zipccml;
unsigned short zipdsk;
unsigned short zipint;
unsigned int zipext;
unsigned int zipofst;
char zipcfn[0];
} __attribute__ ((packed));
#define zip_eoc_sig 0x6054b50
struct zip_cd_ext {
short tag;
short size;
unsigned long long zipofst;
} __attribute__ ((packed));
struct zip_eoc {
int zipesig;
unsigned short zipedsk;
unsigned short zipecen;
unsigned short zipenum;
unsigned short zipecenn;
unsigned int zipecsz;
unsigned int zipeofst;
short zipecoml;
char zipecom[0];
} __attribute__ ((packed));
struct zip64_eocl {
int zip64lsig;
int zip64ldsk;
long long zip64lofst;
int zip74lnum;
} __attribute__ ((packed));
#define __ZIPFILE_H__
#ifdef __CEGCC__
#pragma pack(pop)
#endif
#endif
|