Blame


1 64f7506b 2006-02-24 devnull typedef struct ZipHead ZipHead;
2 64f7506b 2006-02-24 devnull
3 64f7506b 2006-02-24 devnull enum
4 64f7506b 2006-02-24 devnull {
5 64f7506b 2006-02-24 devnull /*
6 64f7506b 2006-02-24 devnull * magic numbers
7 64f7506b 2006-02-24 devnull */
8 64f7506b 2006-02-24 devnull ZHeader = 0x04034b50,
9 64f7506b 2006-02-24 devnull ZCHeader = 0x02014b50,
10 64f7506b 2006-02-24 devnull ZECHeader = 0x06054b50,
11 64f7506b 2006-02-24 devnull
12 64f7506b 2006-02-24 devnull /*
13 64f7506b 2006-02-24 devnull * "general purpose flag" bits
14 64f7506b 2006-02-24 devnull */
15 64f7506b 2006-02-24 devnull ZEncrypted = 1 << 0,
16 64f7506b 2006-02-24 devnull ZTrailInfo = 1 << 3, /* uncsize, csize, and crc are in trailer */
17 64f7506b 2006-02-24 devnull ZCompPatch = 1 << 5, /* compression patched data */
18 64f7506b 2006-02-24 devnull
19 cbeb0b26 2006-04-01 devnull /* ZCrcPoly = 0xedb88320, */
20 cbeb0b26 2006-04-01 devnull #define ZCrcPoly 0xedb88320
21 64f7506b 2006-02-24 devnull
22 64f7506b 2006-02-24 devnull /*
23 64f7506b 2006-02-24 devnull * compression method
24 64f7506b 2006-02-24 devnull */
25 64f7506b 2006-02-24 devnull ZDeflate = 8,
26 64f7506b 2006-02-24 devnull
27 64f7506b 2006-02-24 devnull /*
28 64f7506b 2006-02-24 devnull * internal file attributes
29 64f7506b 2006-02-24 devnull */
30 64f7506b 2006-02-24 devnull ZIsText = 1 << 0,
31 64f7506b 2006-02-24 devnull
32 64f7506b 2006-02-24 devnull /*
33 64f7506b 2006-02-24 devnull * file attribute interpretation, from high byte of version
34 64f7506b 2006-02-24 devnull */
35 64f7506b 2006-02-24 devnull ZDos = 0,
36 64f7506b 2006-02-24 devnull ZAmiga = 1,
37 64f7506b 2006-02-24 devnull ZVMS = 2,
38 64f7506b 2006-02-24 devnull ZUnix = 3,
39 64f7506b 2006-02-24 devnull ZVMCMS = 4,
40 64f7506b 2006-02-24 devnull ZAtariST = 5,
41 64f7506b 2006-02-24 devnull ZOS2HPFS = 6,
42 64f7506b 2006-02-24 devnull ZMac = 7,
43 64f7506b 2006-02-24 devnull ZZsys = 8,
44 64f7506b 2006-02-24 devnull ZCPM = 9,
45 64f7506b 2006-02-24 devnull ZNtfs = 10,
46 64f7506b 2006-02-24 devnull
47 64f7506b 2006-02-24 devnull /*
48 64f7506b 2006-02-24 devnull * external attribute flags for ZDos
49 64f7506b 2006-02-24 devnull */
50 64f7506b 2006-02-24 devnull ZDROnly = 0x01,
51 64f7506b 2006-02-24 devnull ZDHidden = 0x02,
52 64f7506b 2006-02-24 devnull ZDSystem = 0x04,
53 64f7506b 2006-02-24 devnull ZDVLable = 0x08,
54 64f7506b 2006-02-24 devnull ZDDir = 0x10,
55 64f7506b 2006-02-24 devnull ZDArch = 0x20,
56 64f7506b 2006-02-24 devnull
57 64f7506b 2006-02-24 devnull ZHeadSize = 4 + 2 + 2 + 2 + 2 + 2 + 4 + 4 + 4 + 2 + 2,
58 64f7506b 2006-02-24 devnull ZHeadCrc = 4 + 2 + 2 + 2 + 2 + 2,
59 64f7506b 2006-02-24 devnull ZTrailSize = 4 + 4 + 4,
60 64f7506b 2006-02-24 devnull ZCHeadSize = 4 + 2 + 2 + 2 + 2 + 2 + 2 + 4 + 4 + 4 + 2 + 2 + 2 + 2 + 2 + 4 + 4,
61 cbeb0b26 2006-04-01 devnull ZECHeadSize = 4 + 2 + 2 + 2 + 2 + 4 + 4 + 2
62 64f7506b 2006-02-24 devnull };
63 64f7506b 2006-02-24 devnull
64 64f7506b 2006-02-24 devnull /*
65 64f7506b 2006-02-24 devnull * interesting info from a zip header
66 64f7506b 2006-02-24 devnull */
67 64f7506b 2006-02-24 devnull struct ZipHead
68 64f7506b 2006-02-24 devnull {
69 64f7506b 2006-02-24 devnull int madeos; /* version made by */
70 64f7506b 2006-02-24 devnull int madevers;
71 64f7506b 2006-02-24 devnull int extos; /* version needed to extract */
72 64f7506b 2006-02-24 devnull int extvers;
73 64f7506b 2006-02-24 devnull int flags; /* general purpose bit flag */
74 64f7506b 2006-02-24 devnull int meth;
75 64f7506b 2006-02-24 devnull int modtime;
76 64f7506b 2006-02-24 devnull int moddate;
77 64f7506b 2006-02-24 devnull ulong crc;
78 64f7506b 2006-02-24 devnull ulong csize;
79 64f7506b 2006-02-24 devnull ulong uncsize;
80 64f7506b 2006-02-24 devnull int iattr;
81 64f7506b 2006-02-24 devnull ulong eattr;
82 64f7506b 2006-02-24 devnull ulong off;
83 64f7506b 2006-02-24 devnull char *file;
84 64f7506b 2006-02-24 devnull };