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 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180
|
/* header.doc (In Japanese) */
LHa for UNIX ǻѤإå¤ˤĤ Mar. 2, 1992, Masaru Oki.
----------------------------------------------------------------
ܥСǤϲŪ֤Ȥ3ΥإåѰդlevel-1
ͤȤƤޤŪˤϥѥ̾ʸ¤Τʤ level-2
줹ˤǤ
A. إåλ
-----------------------------------------------------------------------------
level-0 level-1 level-2
-----------------------------------------------------------------------------
1 header size 1 header size 2 total header size
1 header sum 1 header sum
5 method ID 5 method ID 5 method ID
4 packed size 4 skip size 4 packed size
4 original size 4 original size 4 original size
2 time 2 time 4 time(UNIX type)
2 date 2 date
1 attribute 1 0x20 1 RESERVED
1 level 0x00 1 level 0x01 1 level 0x02
ʬ 1 name length 1 name length
? pathname ? filename
2 file crc 2 file crc 2 file crc
. ........ 1 OS ID 'U' 1 OS ID 'U'
. ........
2 next-header size 2 next-header size
*************************************************************************
24 + ? 27 + ? 26
-----------------------------------------------------------------------------
1 ext-type 1 ext-type
ĥ . ........ . ........
2 next-header size 2 next-header size
ʬ
-----------------------------------------------------------------------------
a. إåμ
level-0 إå
LHarc, LArc ƱǤǥ쥯ȥ̾ζڤ '\'
ɸȤƤޤ
level-1 إå
ͤǤΥإåޤ-x0 Ǻ줿 -lh0- ν
LHarc DzǽǤ CRC åϹԤޤ
level-2 إå
Ĺե̾ݡȤ뤿ΥإåǤŪˤܥإ
ɸȤΤǡLH ϢΥ桼ƥƥϺ
Ƥ褦ˤꤤޤ
b. 롦ǽ method ID ˤĤ
* Ϻǽ method
-lh0- * no compression
-lh1- * 4k sliding dictionary(max 60 bytes) + dynamic Huffman
+ fixed encoding of position
-lh2- 8k sliding dictionary(max 256 bytes) + dynamic Huffman
-lh3- 8k sliding dictionary(max 256 bytes) + static Huffman
-lh4- * 4k sliding dictionary(max 256 bytes) + static Huffman
+ improved encoding of position and trees
-lh5- * 8k sliding dictionary(max 256 bytes) + static Huffman
+ improved encoding of position and trees
-lh6- 32k sliding dictionary(max 256 bytes) + static Huffman
+ improved encoding of position and trees
-lzs- 2k sliding dictionary(max 17 bytes)
-lz4- no compression
-lz5- 4k sliding dictionary(max 17 bytes)
c. OS ID ˤĤ
ߤΤȤʲ ID ͽƤޤ
MS-DOS 'M'
OS/2 '2'
OS9 '9'
OS/68K 'K'
OS/386 '3'
HUMAN 'H'
UNIX 'U'
CP/M 'C'
FLEX 'F'
Mac 'm'
Runser 'R'
B. ĥʬ
a. OS ¸ (0x00 - 0x3f)
common header
1 0x00
2 header crc
( 1 information )
2 next-header size
filename header
1 0x01
? filename
2 next-header size
dirname header
1 0x02
? dirname
2 next-header size
comment header
1 0x3f
? comments
2 next-header size
(ʾ塢Ⱥ lhx.doc )
----------------------------------------------------------------
LHa for UNIX ĥإå
¸μ(Ǽ٤)
UNIX ˰¸ǵϿ٤ϰʲΤΤǤ롣
(1) ѡߥå
(2) GID,UID
(3) 롼̾桼̾
(4) ǽѹ(UNIX time)
¸Υ(ext-type)
ĥإåƬ1ХȤˤϾ
̤뤿ͤǼƤ롣
UNIX¸Ȥ 0x50 - 0x54 Ѥ롣
¸γǼˡ
嵭 (1) - (4) 줾̤ΥפȤ롣
(1)ѡߥå
size
1 0x50
2 ѡߥå
2 next-header size
(2)GID,UID
size
1 0x51
2 GID
2 UID
2 next-header size
(3)-1 롼̾
1 0x52
? 롼̾ʸ
2 next-header size
(3)-2 桼̾
1 0x53
? 桼̾ʸ
2 next-header size
(4) ǽѹ (for header_level1)
1 0x54
4 UNIX
2 next-header size
LHa for UNIX ver 1.14 Ǥμʺ
嵭(3)ݡȤƤʤ
(3)Υ롼̾桼̾ξޤˤ뤳
ϤʤŸˤ̵뤹롣
ޤ(4)ϥإå٥1νˤˤΤߴޤޤ롣
----------------------------------------------------------------
ʾ塣
ѡ
ʺꡡδ (Nobutaka Watazaki)
watazaki@shimadzu.co.jp
|