Voldef, 6.

6. ボリューム定義ファイルの記述

UDF適合性試験ツールのボリュームファイル作成コマンドudf_mkfsのパラメタとして指定するボリューム定義ファイルの記述方法を規定する。

6.1 基本事項

6.1.1 ボリューム定義ファイルの構造

ボリューム定義ファイルの構造を次に示す。

          Directive1  [value]
          Directive2  [value]

          Descriptor1:
          Directive1  value1  value2 ..
          Directive2  value2  value2 ..
          ENDS

          Descriptor2:
          Directive1  value1  value2 ..       
          Directive2  value1  value2 ..
          ENDS

          ...

          END

ボリューム記述子定義セクションの開始を示すラベルと, その終了を示すENDSとの間に, フィールド設定用のディレクティブとディレクティブ毎の設定値とを記述する。

定義セクション内にないディレクティブは, ボリューム全体に関するパラメタを設定するのに使用する。

ボリュームイメージの定義は, ENDで終了する。

6.1.2 ボリューム記述子の記録順序

主ボリューム記述子列の定義セクションから, 定義されている順に記述子を記録する。開始ボリューム記述子は, 全記述子を記録した後に指定された位置に記録する。

記述子が書かれないブロックに関しては, Padd定義セクションを使用して, 適切なブロック数だけパディングを行う。

6.2 ボリュームのパラメタ

   (1) DiscSize
 	機能:ディスクの容量を指定する。
	記述:"DiscSize  size"
		size : ディスクの最大ブロック数

   (2) BlockSize 
 	機能:ブロックサイズを指定する。
	記述:"BlockSize  size"
		size : ディスクのブロックサイズ

   (3) BlockCntl
 	機能:空きブロックの管理方法を指定する。
	記述:"BlockCntl  method"
		method : 0/1/2 = Bitmap/Table/Vat 
	
   (4) Anchor 
	機能:開始ボリューム記述子ポインタの位置を指定する。
	記述:"Anchor  pos"
		pos : 256 or 512 
	備考:これは, 初期化されたボリュームのイメージだけの
	      指定を行うためのディレクティブなので, 
	      N, N-256については扱わない。
	      N, N-256の開始ボリューム記述子の記録については, 
	      コマンドudf_closeで扱う。

   (5) VDS_Start 
 	機能:ボリューム記述子列の開始位置を指定する。
	記述:"BlockCntl  method"
		method : 0/1/2 = Bitmap/Table/Vat 

   (6) ISOBridge
	機能:ボリュームが, ISO 9660ブリッジをもつことを指定する。
	記述:"ISOBridge" 

   (7) UdfRevision 
	機能:UDFの規定を指定する。
	記述:"UdfRevision   vers" 
		vers = X.YY形式の数字

6.3 基本ボリューム記述子の定義

   (1) PVD:
	基本ボリューム記述子の定義セクションの
	開始を指定する。

   (2) Copyright 
 	機能:著作権ファイルのエクステントの位置及びサイズを指定する。
	記述:"Copyright  loc  len"
		loc: エクステントの位置
		len: エクステントのサイズ

   (3) Abstract
	機能:抄録ファイルのエクステントの位置及びサイズを指定する。
	記述:"Abstract  loc  len"
		loc: エクステントの位置
		len: エクステントのサイズ

   (4) VolumeID
	機能:ボリューム識別子を指定する。
	記述:"VolumeID identifier" 
		identifier: 識別子

   (5) hVolumeID
	機能:ボリューム識別子を16進で直接指定する。
	記述:"hVolumeID idcode compid" 
		idcode: 1バイトを2桁の16進数で記述。バイト間は','で区切る。
		compid: UDF圧縮識別子	

   (6) VolumeSetID
	機能:ボリューム集合識別子の8バイト目以降に記録するIDを指定する。
	記述:"VolumeSetID identifier"

   (7) ENDS
	定義セクションの終了を指定する。

6.4 論理ボリューム記述子の定義

   (1) LVD:
	論理ボリューム記述子の定義セクションの開始を指定する。

   (2) BlockSize 
 	機能:論理ブロックサイズを指定する。
	記述:"BlockSize  size"
		size: ブロックサイズ 

   (3) Integrity 
	機能:論理ボリューム保全記述子列のエクステントの位置及びサイズを指定する。
	記述:"Integrity  loc  len"
		loc: エクステントの位置
		len: エクステントのサイズ

   (4) FileSet 
	機能:ファイル集合記述子の位置を指定する。
	記述:"FileSet loc pno" 
		loc: ファイル集合記述子のエクステントの位置
		pno: ファイル集合記述子のある区画番号

   (5) VolumeID
	機能:ボリューム識別子を指定する。
	記述:"VolumeID identifier" 
		identifier: ボリューム識別子 
		compid: UDF圧縮識別子	

   (6) hVolumeID
	機能:ボリューム識別子を16進で直接指定する。
	記述:"hVolumeID idcode compid" 
		idcode: 1バイトを2桁の16進数で記述。バイト間は','で区切る。
		compid: UDF圧縮識別子	

   (7) PMap 
	機能:区画マップを指定する。
	記述:"PMap type volno pno" 
		type: "TYPE1"  タイプ1の区画マップ
		      "VMAP"   仮想区画マップ
		      "SMAP"   スペアラブル区画マップ
		volno: ボリューム番号
		pno: 区画番号

   (8) ENDS
	定義セクションの終了を指定する。

6.5 区画記述子の定義

   (1) PD:
	区画記述子の定義セクションの開始を指定する。

   (2) PartitionNo 
 	機能:区画番号を指定する。
	記述: "PartitionNo  pno"
		 pno: 区画番号 

   (3) AccessType 
	機能:アクセス種別を指定する。
	記述: "AccessType  type"
		type: アクセス種別 (1:ReadOnly,2:WriteOnce,3:ReWritable, 4:OverWrite) 

   (4) Location 
	機能:区画の開始位置及びサイズを指定する。
	記述:"Location loc len" 
		loc:  区画の開始位置 
		len:  区画のサイズ 

   (5) UnallocTbl 
	機能:未割付空間テーブルの開始位置及びサイズを指定する。
	記述:"UnallocTbl loc len" 
		loc: 未割付空間テーブルの開始位置(使用しない場合は0)  
		len: 未割付空間テーブルのサイズ(使用しない場合は0) 

   (6) UnallocBmp 
	機能:未割付空間ビットマップの開始位置及びサイズを指定する。
	記述:"UnallocBmp loc len" 
		loc: 未割付空間ビットマップの開始位置(使用しない場合は0)  
		len: 未割付空間ビットマップのサイズ(使用しない場合は0) 

   (7) FreeTbl 
	機能:自由空間テーブルの開始位置及びサイズを指定する。
	記述:"UnallocTbl loc len" 
		loc: 自由空間テーブルの開始位置(使用しない場合は0)  
		len: 自由空間テーブルのサイズ(使用しない場合は0) 

   (8) FreeBmp 
	機能:自由空間ビットマップの開始位置及びサイズを指定する。
	記述:"UnallocBmp loc len" 
		loc: 自由空間ビットマップの開始位置(使用しない場合は0)  
		len: 自由空間ビットマップのサイズ(使用しない場合は0) 

   (9) IntegTbl 
	機能:区画保全テーブルの開始位置及びサイズを指定する。
	記述:"integTbl loc len" 
		loc: 区画保全テーブルの開始位置(使用しない場合は0)  
		len: 区画保全テーブルのサイズ(使用しない場合は0) 

   (10) ENDS
	定義セクションの終了を指定する。

6.6 未割付け空間記述子の定義

   (1) USD:
	未割付け空間記述子の定義セクションの開始を指定する。

   (2) UnallocExtent 
	機能:未割付け空間エクステントの開始位置及びサイズを指定する。
	記述:"integTbl loc len" 
		loc: 未割付け空間の開始位置
		len: 未割付け空間のサイズ

   (3) ENDS
	定義セクションの終了を指定する。

6.7 処理システム用ボリューム記述子の定義

   (1) IMPL:
	処理システム用ボリューム記述子の定義セクションの開始を指定する。

   (2) VolumeID 
	機能:ボリューム識別子を指定する。
	記述:"VolumeID identifier" 
		identifier: ボリューム識別子

   (3) ENDS
	定義セクションの終了を指定する。

6.8 終端ボリューム記述子の定義

   (1) TVD:
	 終端ボリューム記述子の定義セクションの開始を指定する。

   (2) ENDS
	定義セクションの終了を指定する。

6.9 開始ボリューム記述子ポインタ

   (1) AVDP:
	開始ボリューム記述子ポインタの定義セクションの開始を指定する。

   (2) Main 
	機能:主ボリューム記述子列の開始位置及びサイズを指定する。
	記述:"Main loc len" 
		loc: 主ボリューム記述子列の開始位置
		len: 主ボリューム記述子列のサイズ

   (3) Reserve 
	機能:予備ボリューム記述子列の開始位置及びサイズを指定する。
	記述:"Reserve loc len" 
		loc: 予備ボリューム記述子列の開始位置
		len: 予備ボリューム記述子列のサイズ

   (4) ENDS
	定義セクションの終了を指定する。

6.10 ボリューム記述子ポインタ

   (1) VDP:
	ボリューム記述子ポインタの定義セクションの開始を指定する。

   (2) Next 
	機能:次のボリューム記述子列の開始位置及びサイズを指定する。
	記述:"Main loc len" 
		loc: 次のボリューム記述子列の開始位置
		len: 次のボリューム記述子列のサイズ

   (3) ENDS
	定義セクションの終了を指定する。

6.11 自由空間ビットマップ

   (1) BMP:
	自由空間ビットマップの定義セクションの開始を指定する。

   (2) BitNum
	機能:ビット数を指定する。
	記述:"BitNum num" 
		num: ビット数 

   (3) ByteNum
	機能:ビットマップのバイト数を指定する。
	記述:"ByteNum num" 
		num: バイト数 

   (4) ENDS
	定義セクションの終了を指示する。

6.12 論理ボリューム保全記述子

   (1) LVID: 
	論理ボリューム保全記述子の定義セクションの開始を指示する。

   (2) Type 
	機能:論理ボリューム保全記述子のタイプを指定する。
	記述:"Type desctype" 
		desctype: "Open", or "Close" 

   (3) Next 
	機能:次の保全記述子列を指定する。
	記述:"Next loc len" 
		loc: 次の保全記述子列の開始位置 
		len: 次の保全記述子列のサイズ

   (4) PartNum 
	機能:区画数を指定する。
	記述:"PartNum num" 
		num: 区画数 

   (5) FileNum 
	機能:ファイル数を指定する。
	記述:"FileNum num" 
		num: ファイル数 

   (6) DirNum 
	機能:ディレクトリ数を指定する。
	記述:"DirNum num" 
		num: ディレクトリ数 

   (7) SpaceTbl 
	機能:利用可能空間テーブルを指定する。
	記述:"SpaceTbl size1 size2 ...." 
		sizeN: 区画Nの利用可能なサイズ
		      (N=5まで)

   (8) SizeTbl 
	機能:区画サイズテーブルを指定する。
	記述:"SizeTbl size1 size2 ...." 
		sizeN: 区画Nのサイズ
		      (N=5まで)

   (9) ENDS
	定義セクションの終了を指示する。

6.13 ファイル集合記述子

   (1) FSD: 
	ファイル集合記述子の定義セクションの開始を指示する。

   (2) VolumeID
	機能:論理ボリューム識別子を指定する。
	記述:"VolumeID identifier" 
		identifier: 論理ボリューム識別子

   (3) FileSetID
	機能:ファイル集合識別子を指定する。
	記述:"FileSetID identifier" 
		identifier: ファイル集合識別子 

   (4) Root 
	機能:ルートディレクトリICBの位置を指定する。
	記述:"Root loc len partno" 
		loc: ルートディレクトリICBの位置
		len: ルートディレクトリICBのサイズ
		partno: ルートディレクトリICBの区画番号

   (5) ENDS
	定義セクションの終了を指示する。

6.14 パディング

   (1) Padd:
	パディング用のブロックの定義セクションの開始を指示する。

   (2) Blocks
	機能:パディングするブロックのブロック数を指定する。
	記述:"Blocks n" 
		n: ブロック数 

   (3) ENDS
	定義セクションの終了を指示する。