1 /* header.doc (In Japanese) */
2 LHa for UNIX で使用されるヘッダ構造について Mar. 2, 1992, Masaru Oki.
4 ----------------------------------------------------------------
5 本バージョンでは過渡的な措置として3種類のヘッダ形式を用意し、level-1
6 を既定値としていますが、将来的にはパス名の文字数に制限のない level-2に
12 -----------------------------------------------------------------------------
13 level-0 level-1 level-2
14 -----------------------------------------------------------------------------
15 1 header size 1 header size 2 total header size
16 1 header sum 1 header sum
17 5 method ID 5 method ID 5 method ID
18 基 4 packed size 4 skip size 4 packed size
19 4 original size 4 original size 4 original size
20 本 2 time 2 time 4 time(UNIX type)
22 部 1 attribute 1 0x20 1 RESERVED
23 1 level 0x00 1 level 0x01 1 level 0x02
24 分 1 name length 1 name length
26 2 file crc 2 file crc 2 file crc
27 . ........ 1 OS ID 'U' 1 OS ID 'U'
29 2 next-header size 2 next-header size
30 *************************************************************************
32 -----------------------------------------------------------------------------
33 拡 1 ext-type 1 ext-type
34 張 . ........ . ........
35 部 2 next-header size 2 next-header size
37 -----------------------------------------------------------------------------
42 従来の LHarc, LArc と同じ形式です。ディレクトリ名の区切りは '\'
46 既定値でこのヘッダが作成されます。-x0 で作成された -lh0- の書庫
47 は LHarc で解凍可能ですが、解凍時に CRC チェックは行われません。
50 長いファイル名をサポートするためのヘッダです。将来的には本ヘッ
51 ダを標準としたいので、LH 関連のユーティリティを作成される方は今後
54 b. 凍結・解凍可能な method ID について
58 -lh0- * no compression
60 -lh1- * 4k sliding dictionary(max 60 bytes) + dynamic Huffman
61 + fixed encoding of position
63 -lh2- 8k sliding dictionary(max 256 bytes) + dynamic Huffman
65 -lh3- 8k sliding dictionary(max 256 bytes) + static Huffman
67 -lh4- * 4k sliding dictionary(max 256 bytes) + static Huffman
68 + improved encoding of position and trees
70 -lh5- * 8k sliding dictionary(max 256 bytes) + static Huffman
71 + improved encoding of position and trees
73 -lh6- 32k sliding dictionary(max 256 bytes) + static Huffman
74 + improved encoding of position and trees
76 -lh7- 64k sliding dictionary(max 256 bytes) + static Huffman
77 + improved encoding of position and trees
79 -lzs- 2k sliding dictionary(max 17 bytes)
83 -lz5- 4k sliding dictionary(max 17 bytes)
87 現在のところ、以下の ID を予約しています。
103 a. OS 非依存 (0x00 - 0x3f)
127 ----------------------------------------------------------------
131 UNIX に依存する情報で記録すべきは以下のものである。
135 (4) 最終変更時刻(UNIX time)
138 拡張ヘッダの先頭1バイトには情報が何を示すもの
140 UNIX依存情報として 0x50 - 0x54 を使用する。
143 上記 (1) - (4) をそれぞれ別のタイプとする。
168 (4) 最終変更時刻 (for header_level1)
173 ・LHa for UNIX ver 1.14 での実装(綿崎)
175 (3)のグループ名、ユーザ名の情報を含む書庫を作成すること
177 また、(4)はヘッダレベル1の書庫にのみ含まれる。
179 (3) を作成するようにしてみました。展開と一覧表示のときに (3)
181 作成は configure オプション --enable-user-name-header を指定して
182 build したときに有効になります。(2002-06-04 新井)
184 ----------------------------------------------------------------
188 綿崎 修隆 (Nobutaka Watazaki)
189 watazaki@shimadzu.co.jp