2007年12月25日

UDF1.02 4-2 File Set Descriptor

File Set Descriptor (ファイル集合記述子) はファイルセットの情報を記述します。 また、ルートディレクトリの場所を記しており、 ディレクトリ構造や個々のファイルを読み取る際の起点になります。

File Set Descriptor format
BP大きさ名称内容
0〜1516struct tagDescriptor TagTagID=256
16〜2712struct timestampRecording Date and Time記録日時
28〜292unsigned shortInterchange Level=3 交換レベル
30〜312unsigned shortMaximum Interchange Level=3 最大交換レベル
32〜354unsigned longCharacter Set List=1 文字集合リスト
36〜394unsigned longMaximum Character Set List=1 最大文字集合リスト
40〜434unsigned longFile Set Number(=0) ファイルセット番号
44〜474unsigned longFile Set Descriptor Number(=0) FSD番号
48〜11164charspecLogical Volume Identifier Character Set={0,"OSTA Compressed Unicode"}
112〜239128char[128]Logical Volume Identifier論理ボリュームラベル (dstring)
240〜30364charspecFile Set Character Set={0,"OSTA Compressed Unicode"}
304〜33532char[32]File Set Identifierファイルセット名 (ボリュームラベルに同じ) (dstring)
336〜36732char[32]Copyright File Identifier著作権ファイル識別子 (dstring)
368〜39932char[32]Abstract File Identifier抄録ファイル識別子 (dstring)
400〜41516struct long_adRoot Directory ICBルートディレクトリ ICB の場所
416〜44732struct regidDomain Identifier={0, "*OSTA UDF Compliant", 2,1,3}
448〜46316struct long_adNext Extent=0 次の FSD の位置
464〜47916struct long_adSystem Stream Directory ICB=0 使用しない
480〜51132-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 です。

posted by 七癖 at 09:44| Comment(8) | TrackBack(0) | ファイルシステム | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
いつもお世話になっておりますm(__)m
たいしたことではありませんが(^^;

× File Set Descriptor format (ファイル集合記述子) はファイルセットの情報を記述します。
○ File Set Descriptor (ファイル集合記述子) はファイルセットの情報を記述します。
Posted by ながえ at 2009年12月08日 08:14
恐れながらもう一箇所(^^;

×DF1.02 では、使用する文字セットは決められており
○DF1.02 では、使用する文字セットは決められており
Posted by ながえ at 2009年12月08日 09:33
○UDF1.02 では、使用する文字セットは決められており
Posted by ながえ at 2009年12月08日 09:34
誤字だらけですみません。
修正しましたので、ご確認ください。
Posted by 七癖(管理人) at 2009年12月08日 19:25
修正おつかれさまですm(__)m
すみません、どうでもいいことばかりで肝心なところを忘れていました。

論理ボリュームラベル、ファイルセット名
のところの内容は(d文字)ではなくて(dstring)ですよね?
ISO9660の方とごっちゃになってしまい少々混乱してしまいました(^^ゞ

ついでに著作権ファイル識別子と抄録ファイル識別子のところにも(dstring)という記述があれば、原資料にあたる必要がなくなってより便利かと

こちらの一連のコメントも、差支えがなければ、不要になり次第削除していただけると幸いです。
Posted by ながえ at 2009年12月10日 00:14
多くのご指摘をいただき有り難うございます。
ここ及び、
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
で断っていますから大丈夫ですよね。
Posted by 七癖(管理人) at 2009年12月10日 22:34
ここ以外のコメントを削除させて頂きました。
Posted by 七癖(管理人) at 2009年12月10日 22:49
なるほど、

「dstring = charspecで指定された形式 ( = OSTA圧縮)
ということで、それには固定長のものと可変長のものがある」

と思い込んでいましたが、ECMAの方では

d-characters = charspecで指定された形式 ( = OSTA圧縮)
dstring = 固定長の d-characters

ということになっていたんですね(^^;
Posted by ながえ at 2009年12月14日 00:16
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック
×

この広告は90日以上新しい記事の投稿がないブログに表示されております。