============================================================
	TAR32.DLL フォーマット説明ファイル
                   		by 吉岡 恒夫
                   		email:QWF00133@niftyserve.or.jp
                   		date: 1998/05/31
============================================================
(注)ソースコードなどを元に調べたものです。ひょっとしたら間違い
があるかもしれません。

目次：
1)Tar形式のフォーマット
2)Tar形式ヘッダー
3)GZIP形式

------------------------------------------------------------------------------
1)Tar形式のフォーマット
  Tar形式は以下のようにヘッダーとデータが交互に存在します。ヘッダーは512byteです。データ領域は512byteの倍数になるように0で詰められます。

	----------
	ヘッダー１
	----------
	データ１
	----------
	ヘッダー２
	----------
	データ２
	----------
	・・・

-----------------------------------------------------------------------------
2)Tar形式ヘッダー
  Tar形式のヘッダーは以下のような512byteの構造体です。エンディアンの影響を受けないように、2byte以上の数字は8進数文字列として格納されています。
	
	1:ファイル名		100byte
	2:属性			8byte
	3:ユーザーID		8byte
	4:グループID		8byte
	5:ファイルサイズ	12byte
	6:更新日時		12byte
	7:チェックサム		8byte
	8:タイプ		1byte
	9:リンク先ファイル名	100byte
  	10:マジックコード/バージョン番号	8byte(6byte+2byte)	
	11:ユーザ名		32byte
	12:グループ名		32byte
	13:メジャーデバイス番号	8byte
	14:マイナーデバイス番号	8byte
		以下GNU Tar形式
	15:最終アクセス時刻	12byte
	16:ファイル作成時刻	12byte
	17:オフセット		12byte

  1:ファイル名
	ファイル名です。ファイル名が100byteを超える場合はここには、"././@LongLink"が入ります。この場合、実際のファイル名の長さは「5:ファイルサイズ」に設定され、実際のファイル名はデータ領域に入ります。
  
  2:属性
  	ファイルの属性(16bit)が8進数の文字列として格納されます。各ビットの意味は以下のとおりです。
  	
  	15bit	通常のファイル
  	14bit	ディレクトリ
  	13bit	キャラクター型スペシャルファイル
  	12bit	パイプ
  	11bit	set UID
  	10bit	set GID
  	9bit	sticky bit
  	8bit	オーナーの読み込み属性
  	7bit	オーナーの書き込み属性
  	6bit	オーナーの実行属性
  	5bit	グループの読み込み属性
  	4bit	グループの書き込み属性
  	3bit	グループの実行属性
  	2bit	他人の読み込み属性
  	1bit	他人の書き込み属性
  	0bit	他人の実行属性

  3:ユーザID
  	ファイル所有者のユーザID。0はrootをあらわす。
  
  4:グループID
  	ファイル所有者のグループID。0はrootをあらわす。
  
  5:ファイルサイズ
  	ファイルサイズを8進数の文字列であらわす。
  
  6:更新日時
  	更新日時を8進数文字列であらわす。
  
  7:チェックサム
  	ヘッダー(512byte)の16bitチェックサム。「7:チェックサム」自身はスペース(0x20)8文字で埋まっていると考えて計算する。

  8:タイプ
  	以下のいずれかが設定される。
  	
  	'0'(0x30)	通常のファイル
  	0		通常のファイル(V7フォーマット)
  	'1'(0x31)	link to previously dumped file
  	'2'(0x32)	シンボリックリンク
  	'3'(0x33)	キャラクタ型デバイス
  	'4'(0x34)	ブロック型デバイス
  	'5'(0x35)	ディレクトリ
  	'6'(0x36)	FIFOスペシャルファイル
  	'7'(0x37)	contiguous file
  	'D'		This is dir entry that contains the names of files
  			that were in the dir at the time the dump was made.
  	'K'		データ領域にリンク先ファイル名が格納されている。
  	'L'		データ領域にファイル名が格納されている。
  	'M'		This is the continuation of a file that began on
  			another volume.(マルチボリュームの２つめ以降?)
  	'N'		For storing filenames that didn't fit in 100
  			charactors.
  	'S'		This is for sparse files.
  	'V'		This file is a tape/volume header. Ignore it on
  			extraction.(マルチボリュームの１つめ?)
  
  9:リンク先ファイル名
  	「8:タイプ」が'1'や'2'(リンク)のときにリンク先ファイル名が設定されます。
  10:マジックコード/バージョン番号
  	最初の6byteに"ustar"が、最後の2byteにバージョン番号"00"が入ります。GNU Tarの場合、8byteで"ustar  "が入ります。

  11:ユーザ名
  	ファイル所有者のユーザ名文字列が入ります。
  
  12:グループ名
  	ファイル所有者のグループ名文字列が入ります。

  13:メジャーデバイス番号
  	タイプが'3'か'4'(デバイスファイル)のときに設定される。
  
  14:マイナーデバイス番号
  	タイプが'3'か'4'(デバイスファイル)のときに設定される。

  15:最終アクセス時刻

  16:ファイル作成時刻

  17:オフセット
	?
---------------------------------------------------------------------------
3)GZIP形式
  GZIP形式は以下のような構造になっています。数値はリトル・エンディアン(大きい桁が左)であらわされます。
	1:マジックナンバー	2byte
		0x1f, 0x8b(\037, \213)
	2:圧縮法		1byte
		deflate:	8(0x08)
		他は予約
	3:フラグ		1byte
		bit0:	テキストファイル
		bit1:	マルチパートgzipファイルの2つめ以降
		bit2:	特別な領域が存在
		bit3:	ファイル名が存在
		bit4:	コメントが存在
		bit5:	ファイルは暗号化されている
	4:最終更新日時		4byte
		Unix形式。ファイルでない場合は圧縮した時刻。
	5:拡張フラグ		1byte
	6:ファイルを作成したOSの種類	1byte
		MSDOS:	0x00
		OS/2:	0x06
		Win32:	0x0b
		VAX/VMS:0x02
		AMIGA:	0x01
		ATARI:	0x05
		MACOS:	0x07
		Prime/PRIMOS: 0x0F
		TOPS20:	0x0a
		UNIX:	0x03
	7:オプションによるパート番号(2番目のパートが1である)	2byte又はなし
		フラグのbit1がセットされているときのみ存在する。
	8:オプションによる特別な領域の長さ			2byte又はなし
		フラグのbit2がセットされているときのみ存在する。
	9:オプションによる特別な領域				?byte又はなし
		「8:オプションによる特別な領域の長さ」だけ存在する。
	10:オプションによる元のファイル名			?byte又はなし
		フラグのbit3がセットされているときのみ存在する。
		NULL文字(0x00)で終わっている。
	11:オプションによる元のファイル名のコメント		?byte又はなし
		フラグのbit4がセットされているときのみ存在する。
		NULL文字(0x00)で終わっている。
	12:オプションによる暗号化ヘッダ				12byte又はなし
		フラグのbit5がセットされているときのみ存在する。
	13:圧縮データ						?byte
	14:32ビットCRC						4byte
	15:ファイルサイズ					4byte
		2^32以上のときは2^32で割ったあまり。

-------------------------------------------------------------------------
