Partition Descriptor format
BP | 大きさ | 型 | 名称 | 内容 |
0〜15 | 16 | struct tag | Descriptor Tag | TagID=5 |
16〜19 | 4 | unsigned long | Volume Descriptor Sequence Number | ボリューム記述子番号 |
20〜21 | 2 | unsigned short | Partition Flags | (=1) 区画フラグ |
22〜23 | 2 | unsigned short | Partition Number | (=0) パーティション番号 |
24〜55 | 32 | struct regid | Partition Contents | ="+NSR02"or"+NSR03" |
56〜183 | 128 | unsigned char[128] | Partition Contents Use | (=0) Partition Header Descriptor を記入する |
184〜187 | 4 | unsigned long | Access Type | (=1) アクセス種別 |
188〜191 | 4 | unsigned long | Partition Starting Location | パーティションの先頭位置 [LSN] |
192〜195 | 4 | unsigned long | Partition Length | パーティションの大きさ [LSs] |
196〜227 | 32 | struct regid | Implementation Identifier | *開発者名 |
228〜355 | 128 | unsigned char[128] | Implementation Use | 処理方法用 使わなければ =0 |
356〜511 | 156 | - | Reserved | =0 |
Partition Flags は、次のとおりです。
Partition characteristics
Bit | 内容 |
0 | 0=このパーティションにボリュームスペースが割り振られていない 1=このパーティションにボリュームスペースが割り振られている |
1〜15 | 予約 |
Access Type は、次のとおりです。
Access interpretation
Access Type | 内容 |
0 | パーティションは未定義 |
1 | 読み取り専用 |
2 | 1回だけ書き込み可能 |
3 | 書き込み可能 |
4 | 上書き可能 |
5 | 予約 |
Partition Contents Use には、次の Partition Header Descriptor が入ります。 これは、パーティションの空き領域を記録してある場所を記述します。
Partition Header Descriptor format
BP | 大きさ | 型 | 名称 | 内容 |
0〜7 | 8 | struct short_ad | Unallocated Space Table | (=0) 未割付け空間表の場所 |
8〜15 | 8 | struct short_ad | Unallocated Space Bitmap | (=0) 未割付け空間ビットマップの場所 |
16〜23 | 8 | struct short_ad | Partition Integrity Table | =0 パーティション保全テーブル表の場所 |
24〜31 | 8 | struct short_ad | Freed Space Table | (=0) 未初期化空間表の場所 |
32〜39 | 8 | struct short_ad | Freed Space Bitmap | (=0) 未初期化空間ビットマップの場所 |
40〜127 | 88 | unsigned char[88] | Reserved | =0 |
UDF1.02 では、Partition Integrity Table は使用しません。
Space Table が指す記述子は USE であり、 空き位置が配置記述子列 (場所の配列) で記述されています。
Space Bitmap が指す記述子は SBD であり、 論理ブロックをビットで表してその ON/OFF で空きか使用中かを記述します。
UDF1.02 では、空間表と空間ビットマップのどちらか片方のみ使用します。同時に使用しません。 UDF1.50 では、これに加えて Freed の側を使用しないらしいです。
使用しない空間表や空間ビットマップの場所は 0 に設定してください。 空きがない DVD-ROM では、全て 0 になっています。