2 * Generic (MS-DOS style) time stamp format (localtime):
4 * 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
5 * |<---- year-1980 --->|<- month ->|<--- day ---->|
7 * 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
8 * |<--- hour --->|<---- minute --->|<- second/2 ->|
16 * --------------------------------
18 * 2 or 4 next-header size [*1]
19 * --------------------------------------
20 * ext header: 1 ext-type ^
21 * ? contents | [*1] next-header size
22 * 2 or 4 next-header size v
23 * --------------------------------------
25 * on level 1, 2 header:
26 * size field is 2 bytes
28 * size field is 4 bytes
35 * offset size field name
36 * ----------------------------------
37 * 0 1 header size [*1]
39 * ---------------------------------------
41 * 7 4 packed size [*2] |
42 * 11 4 original size |
45 * 19 1 attribute | [*1] header size (X+Y+22)
46 * 20 1 level (0x00 fixed) |
49 * X +22 2 file crc (CRC-16) |
50 * X +24 Y ext-header(old style) v
51 * -------------------------------------------------
53 * : | [*2] packed size
55 * -------------------------------------------------
57 * ext-header(old style)
71 * bit6 archive bit (need to backup)
79 * offset size field name
80 * -----------------------------------
81 * 0 1 header size [*1]
83 * -------------------------------------
85 * 7 4 skip size [*2] |
86 * 11 4 original size |
89 * 19 1 attribute (0x20 fixed) | [*1] header size (X+Y+25)
90 * 20 1 level (0x01 fixed) |
93 * X+ 22 2 file crc (CRC-16) |
96 * X+Y+25 2 next-header size v
97 * -------------------------------------------------
98 * X+Y+27 Z ext-header ^
100 * ----------------------------------- | [*2] skip size
103 * -------------------------------------------------
111 * offset size field name
112 * --------------------------------------------------
113 * 0 2 total header size [*1] ^
114 * ----------------------- |
116 * 7 4 packed size [*2] |
117 * 11 4 original size |
119 * 19 1 RESERVED (0x20 fixed) | [*1] total header size
120 * 20 1 level (0x02 fixed) | (X+26+(1))
121 * 21 2 file crc (CRC-16) |
123 * 24 2 next-header size |
124 * ----------------------------------- |
127 * ----------------------------------- |
128 * X +26 (1) padding v
129 * -------------------------------------------------
131 * : | [*2] packed size
133 * -------------------------------------------------
141 * offset size field name
142 * --------------------------------------------------
143 * 0 2 size field length (4 fixed) ^
145 * 7 4 packed size [*2] |
146 * 11 4 original size |
148 * 19 1 RESERVED (0x20 fixed) | [*1] total header size
149 * 20 1 level (0x03 fixed) | (X+32)
150 * 21 2 file crc (CRC-16) |
152 * 24 4 total header size [*1] |
153 * 28 4 next-header size |
154 * ----------------------------------- |
157 * -------------------------------------------------
159 * : | [*2] packed size
161 * -------------------------------------------------