File Set Descriptor format
BP | 大きさ | 型 | 名称 | 内容 |
0〜15 | 16 | struct tag | Descriptor Tag | TagID=256 |
16〜27 | 12 | struct timestamp | Recording Date and Time | 記録日時 |
28〜29 | 2 | unsigned short | Interchange Level | =3 交換レベル |
30〜31 | 2 | unsigned short | Maximum Interchange Level | =3 最大交換レベル |
32〜35 | 4 | unsigned long | Character Set List | =1 文字集合リスト |
36〜39 | 4 | unsigned long | Maximum Character Set List | =1 最大文字集合リスト |
40〜43 | 4 | unsigned long | File Set Number | (=0) ファイルセット番号 |
44〜47 | 4 | unsigned long | File Set Descriptor Number | (=0) FSD番号 |
48〜111 | 64 | charspec | Logical Volume Identifier Character Set | ={0,"OSTA Compressed Unicode"} |
112〜239 | 128 | char[128] | Logical Volume Identifier | 論理ボリュームラベル (dstring) |
240〜303 | 64 | charspec | File Set Character Set | ={0,"OSTA Compressed Unicode"} |
304〜335 | 32 | char[32] | File Set Identifier | ファイルセット名 (ボリュームラベルに同じ) (dstring) |
336〜367 | 32 | char[32] | Copyright File Identifier | 著作権ファイル識別子 (dstring) |
368〜399 | 32 | char[32] | Abstract File Identifier | 抄録ファイル識別子 (dstring) |
400〜415 | 16 | struct long_ad | Root Directory ICB | ルートディレクトリ ICB の場所 |
416〜447 | 32 | struct regid | Domain Identifier | ={0, "*OSTA UDF Compliant", 2,1,3} |
448〜463 | 16 | struct long_ad | Next Extent | =0 次の FSD の位置 |
464〜479 | 16 | struct long_ad | System Stream Directory ICB | =0 使用しない |
480〜511 | 32 | - | Reserved | =0 |
Interchange Level と Maximum Interchange Level はファイル文字数などの制限を定めます。 UDF1.02 では、どちらも 3 (制限なし) です。
UDF1.02 では、使用する文字セットは決められており、 Character Set List と Maximum Character Set List には 1 を入れます。
ファイルセットが一つの場合、 File Set Number には 0 を入れます。
FSD が一つの場合、 File Set Descriptor Number には 0 を入れます。
File Set Character Set で指定される文字セットは、 ファイルセット名だけでなくファイルセットが持つファイルやディレクトリの名前にも適用されます。
Copyright File Identifier と Abstract File Identifier を使わない場合は 0 で埋めます。
次の FSD が無ければ Next Extent は 0 です。
たいしたことではありませんが(^^;
× File Set Descriptor format (ファイル集合記述子) はファイルセットの情報を記述します。
○ File Set Descriptor (ファイル集合記述子) はファイルセットの情報を記述します。
×DF1.02 では、使用する文字セットは決められており
○DF1.02 では、使用する文字セットは決められており
修正しましたので、ご確認ください。
すみません、どうでもいいことばかりで肝心なところを忘れていました。
論理ボリュームラベル、ファイルセット名
のところの内容は(d文字)ではなくて(dstring)ですよね?
ISO9660の方とごっちゃになってしまい少々混乱してしまいました(^^ゞ
ついでに著作権ファイル識別子と抄録ファイル識別子のところにも(dstring)という記述があれば、原資料にあたる必要がなくなってより便利かと
こちらの一連のコメントも、差支えがなければ、不要になり次第削除していただけると幸いです。
ここ及び、
UDF1.02 4-9 Implementation Use Extended Attribute
http://senbee.seesaa.net/article/80177271.html
UDF1.02 4-18 Unallocated Space Entry
http://senbee.seesaa.net/article/86941472.html
を修正しましたのでご確認ください。
今、見返してみると、ECMA-167 で定義されている「dstring」と「d-characters」を全く区別しておらず、可変長の File Identifier などでも全て「dstring」になっていますが、
UDF1.02 1-10 数値と文字
http://senbee.seesaa.net/article/58965760.html
で断っていますから大丈夫ですよね。
「dstring = charspecで指定された形式 ( = OSTA圧縮)
ということで、それには固定長のものと可変長のものがある」
と思い込んでいましたが、ECMAの方では
d-characters = charspecで指定された形式 ( = OSTA圧縮)
dstring = 固定長の d-characters
ということになっていたんですね(^^;