2008年02月27日

UDF1.02 4-19 Space Bitmap Descriptor

Space Bitmap Descriptor (空間ビットマップ記述子) (SBD) はそのパーティションが持っている 論理ブロックの使用状況を記述します。

Space Bitmap Descriptor format
位置大きさ名称内容
0〜1516struct tagDescriptor TagTagID=264
16〜194unsigned longNumber of Bits (=N_BT)ビット数 ( =論理ブロックの総数 )
20〜234unsigned longNumber of Bytes (=N_B)バイト数 ( >=ip((N_BT+7)/8) )
24〜24+N_B-1N_Bunsigned charBitmapビットマップ


Bitmap に論理ブロックの使用状況を記述します。
一つのビットが一つの論理ブロックを表します。
Bitmap の先頭のバイトを 0 として、 論理ブロック番号 s に対応するビットの位置は、 ip(s/8) バイト目の rem(s,8) ビットになります。
ここで、 ip(s/8) は、s÷8 の整数部分、
rem(s,8) は、s÷8 の余り (剰余) です。
ビットが 1 なら、その論理ブロックは空いています。

Bitmap example
RBPbitLBN
000
1 1
2 2
3 3
4 4
5 5
6 6
7 7
108
1 9
210
311
412
513
614
715
2016
117
218
319
420
521
622
723


SBD の位置は、PD の Partition Contents Use の Unallocated Space Bitmap に記述されます。

UDF1.02 では、SBD の Descriptor Tag の各 CRC を計算しません。

これは普通、上書き可能な媒体で使用します。DVD-ROM で使う必要は全くありません。

posted by 七癖 at 10:02| Comment(0) | TrackBack(0) | ファイルシステム | このブログの読者になる | 更新情報をチェックする

2008年02月25日

UDF1.02 4-18 Unallocated Space Entry

Unallocated Space Entry (未割付け空間エントリ) (USE) は そのパーティションの割付られていない場所の配列を記述します。

Unallocated Space Entry format
BP大きさ名称内容
0〜1516struct tagDescriptor TagTagID=263
16〜3520struct icbtagICB TagType=1
36〜394unsigned longLength of Allocation Descriptors (=L_AD)Allocation Attributes の長さ [bytes]
40〜40+L_AD-1L_ADunsigned char[L_AD]Allocation descriptors未割付範囲の配列


Allocation descriptors の型 (short_ad or long_ad or ext_ad) は ICB で指定します。
UDF1.02 では short_ad を使用します。

USE の場所は PD の Partition Contents Use の空間表に記述されます。

UDF1.02 では、USE の大きさを 1 論理ブロックに収まるようにします。

USE は普通、追記型媒体だけに使用されます。 DVD-ROM では使う必要は全くありません。

posted by 七癖 at 10:07| Comment(0) | TrackBack(0) | ファイルシステム | このブログの読者になる | 更新情報をチェックする

2008年02月21日

UDF1.02 4-17 Allocation Extent Descriptor

Allocation Descriptor (配置記述子) の配列 (Allocation Descriptors) (配置記述子列) は、 short_ad または long_ad または ext_ad の配列です。 これは、 記録箇所、 割付け済みだが未記録、 未割付けで未記録、 箇所の羅列を記述します。

配置記述子列は、ファイルエントリや空間表に使われます。 ファイルエントリでは、ファイル本体の場所を記述します。 ファイルが分割されているとき、その各部分を先頭から順番にこの配列に記述していきます。

配置記述子列は、ファイルエントリなどの最後に用意された欄に記述していきます。 そして、用意されたバイトの長さ (L_AD) が終了した場合か、 Extent Length が 0 の配置記述子で終了します。
ですが、(余り考えたくありませんが) ファイルが細分化したり、 繰り返し書き込み可能なデバイスで記録領域や空き領域が入り組んで 一箇所に収まらなくなったとき、列を分けて置く必要に迫られるときがあります。 そういうとき、 配置記述子の Extent Length の最上位 2 ビットを 3 と置くと、 それは次の配置記述子列の場所を示すことになります。 (その配置記述子列はそこで終了です。)

Allocation Extent Descriptor (割付け範囲記述子) (AED) は、 その次に用意された配置記述子列のヘッダになります。

Allocation Extent Descriptor format
BP大きさ名称内容
0〜1516struct tagDescriptor TagTagID=258
16〜194unsigned longPrevious Allocation Extent Location前の配置記述子列の場所
20〜234unsigned longLength of Allocation Descriptors (=L_AD)配置記述子列の長さ [bytes]

24 バイト目より、配置記述子列が L_AD の長さ分続きます。

配置記述子の型 (short_ad または long_ad または ext_ad) は前の配置記述子列と同じです。

UDF1.02 では、一つの AED と配置記述子列の長さの総和を 1 論理ブロックに収まるようにします。

DVD-ROM では普通 AED を使いません。

posted by 七癖 at 10:09| Comment(0) | TrackBack(0) | ファイルシステム | このブログの読者になる | 更新情報をチェックする

2008年02月19日

UDF1.02 4-16 Extended File Entry

FE のかわりに次の Extended File Entry (拡張ファイルエントリ) (EFE) を使うことも出来ます。


Extended File Entry format
位置大きさ名称内容
0〜1516struct tagDescriptor TagTagID=266
16〜3520struct icbtagICB TagICB
36〜394unsigned longUid=-1 ファイル所有者ID
40〜434unsigned longGid=-1 ファイル所有グループID
44〜474unsigned longPermissions許可条件
48〜492unsigned shortFile Link Count自分+サブディレクトリ数
501unsigned charRecord Format=0 記録形式
511unsigned charRecord Display Attributes=0 記録表示属性
52〜554unsigned longRecord Length=0 記録長
56〜638unsigned int64Information Lengthファイルサイズ [bytes]
64〜718unsigned int64Object Sizeストリーム分も含むファイルサイズ [bytes]
72〜798unsigned int64Logical Blocks Recorded使用している論理ブロックの数
80〜9112struct timestampAccess Date and Time最新アクセス日
92〜10512struct timestampModification Date and Time更新日時
106〜11712struct timestampCreation Date and Time作成日時
118〜12712struct timestampAttribute Date and Time属性修正日時
128〜1314unsigned longCheckpoint=1 チェックポイント
132〜1354-Reserved=0
136〜15116struct long_adExtended Attribute ICB拡張属性ICBの位置
152〜16716struct long_adStream Directory ICBストリームディレクトリの ICB
168〜19932struct regidImplementation Identifier*処理システム名
200〜2078unsigned int64Unique Id一意ID
208〜2114unsigned longLength of Extended Attributes (=L_EA)Extended Attributes の長さ [bytes]
212〜2154unsigned longLength of Allocation Descriptors (=L_AD)Allocation descriptors の長さ [bytes]
216〜216+L_EA-1L_EAunsigned char[L_EA]Extended Attributes拡張属性
216+L_EA〜216+L_EA+L_AD-1L_ADunsigned char[L_AD]Allocation descriptors(分割)ファイル本体の場所
もしくはファイル本体


FE と同じ変数名の変数は FE と同じです。

Object Size と Stream Directory ICB はストリーム関係のパラメータです。

posted by 七癖 at 10:19| Comment(0) | TrackBack(0) | ファイルシステム | このブログの読者になる | 更新情報をチェックする

2008年02月15日

UDF1.02 4-15 Application Use Extended Attribute

Application Use Extended Attribute には、Implementation Use Extended Attribute のように、 そのアプリケーション用の様々な情報を、 その情報用のフォーマットを用意することで記述できます。

一般的な Application Use Extended Attribute は、次のようになります。

Application Use Extended Attribute format
RBP大きさ名称内容
0〜34unsigned longAttribute Type=65536
41unsigned charAttribute Subtype=1
5〜73unsigned char[3]Reserved=0
8〜114unsigned longAttribute Length (=A_L)属性長 (4の倍数) [bytes]
12〜154unsigned longApplication Use Length (=AU_L)Application Use の長さ [bytes]
16〜4732struct regidApplication Identifier内容
50〜A_L-1AU_Lunsigned char[AU_L]Application Use予約


UDF1.02 では、書き換え可能なメディア用に、次の Free Application Extended Attribute Space が用意されています。

Free Application Extended Attribute Space format
RBP大きさ名称内容
0〜34unsigned longAttribute Type=2048
41unsigned charAttribute Subtype=1
5〜73unsigned char[3]Reserved=0
8〜114unsigned longAttribute Length (=A_L)属性長 (4の倍数) [bytes]
12〜154unsigned longApplication Use Length (=AU_L)Application Use の長さ [bytes]
16〜4732struct regidApplication Identifier="*UDF FreeAppEASpace"
48〜492unsigned shortHeader ChecksumヘッダのCRC
50〜A_L-1IU_L-2unsigned char[IU_L-2]Free EA Space(=0) 空き領域長さ



Extended Attribute の話は、これで終わりです。

posted by 七癖 at 10:11| Comment(0) | TrackBack(0) | ファイルシステム | このブログの読者になる | 更新情報をチェックする

2008年02月13日

UDF1.02 4-14 Device Specification Extended Attribute

Device Specification Extended Attribute は、メディアを作成したデバイスの情報を記述します。

Device Specification Extended Attribute format
RBP大きさ名称内容
0〜34unsigned longAttribute Type=12
41unsigned charAttribute Subtype=1
5〜73unsigned char[3]Reserved=0
8〜114unsigned longAttribute Length (=A_L)属性長 (4の倍数) [bytes]
12〜154unsigned longImplementation Use Length (=IU_L)(=4) 処理方法用の長さ [bytes]
16〜194unsigned longMajor Device Identification装置の指定 (当事者間の同意に基づく)
20〜234unsigned longMinor Device Identification装置の指定 (当事者間の同意に基づく)
24〜A_L-1IU_Lunsigned char[IU_L]Implementation Use処理方法用 (*開発者名)

UDF1.02 では、ICB の File Type が 6 か 7 のときに有効です。

posted by 七癖 at 10:00| Comment(0) | TrackBack(0) | ファイルシステム | このブログの読者になる | 更新情報をチェックする

2008年02月03日

UDF1.02 4-13 Information Times Extended Attribute

Information Times Extended Attribute は、そのファイルに関するある特定の日時を記述します。

Information Times Extended Attribute format
RBP大きさ名称内容
0〜34unsigned longAttribute Type=6
41unsigned charAttribute Subtype=1
5〜73unsigned char[3]Reserved=0
8〜114unsigned longAttribute Length (=A_L)属性長 (4の倍数) [bytes]
12〜154unsigned longData Length (=D_L)Information Times の長さ [bytes]
16〜194unsigned longInformation Time Existence日時の内容
20〜A_L-1D_Lunsigned char[D_L]Information Times日時データ (timestamp の配列)


Information Time Existence は次のとおりです。

Information Time Existence
bit意味
0情報作成日時
1情報の最終変更日時
2この日時以降に無効
3この日時以降に有効


posted by 七癖 at 09:38| Comment(0) | TrackBack(0) | ファイルシステム | このブログの読者になる | 更新情報をチェックする

2008年02月01日

UDF1.02 4-12 File Times Extended Attribute

File Times Extended Attribute は、そのファイルのある特定の日時を記述します。

File Times Extended Attribute format
RBP大きさ名称内容
0〜34unsigned longAttribute Type=5
41unsigned charAttribute Subtype=1
5〜73unsigned char[3]Reserved=0
8〜114unsigned longAttribute Length (=A_L)属性長 (4の倍数) [bytes]
12〜154unsigned longData Length (=D_L)File Times の長さ [bytes]
16〜194unsigned longFile Time Existence日時の内容
20〜A_L-1D_Lunsigned char[D_L]File Times日時データ (timestamp の配列)


File Time Existence は次のとおりです。

File Time Existence
bit意味
0作成日時
2この日時以降に削除
3この日時以降に有効 (無ければ始めから有効)
5最終バックアップ日時


UDF1.02 では、File Times Extended Attribute を Macintosh だけで使用し、作成日時のみ記入します。

posted by 七癖 at 09:35| Comment(0) | TrackBack(0) | ファイルシステム | このブログの読者になる | 更新情報をチェックする

2008年01月29日

UDF1.02 4-11 Alternate Permissions Extended Attribute

Alternate Permissions Extended Attribute は、そのファイルのアクセス権を示します。
UDF1.02 では、記録しません。

Alternate Permissions Extended Attribute format
RBP大きさ名称内容
0〜34unsigned longAttribute Type=3
41unsigned charAttribute Subtype=1
5〜73unsigned char[3]Reserved=0
8〜114unsigned longAttribute Length (=A_L)属性長 (4の倍数) [bytes]
12〜132unsigned shortOwner Identification所有者 ID
14〜152unsigned shortGroup Identificationグループ ID
16〜172unsigned shortPermissionアクセス許可範囲 (省略)


posted by 七癖 at 09:35| Comment(0) | TrackBack(0) | ファイルシステム | このブログの読者になる | 更新情報をチェックする

2008年01月25日

UDF1.02 4-10 Character Set Information Extended Attribute

今日からしばらくの間、DVD-ROM では普通は使用されないファイル拡張属性を述べていきます。


Character Set Information Extended Attribute は、そのファイル用の文字セットを示します。

Character Set Information Extended Attribute format
RBP大きさ名称内容
0〜34unsigned longAttribute Type=1
41unsigned charAttribute Subtype=1
5〜73unsigned char[3]Reserved=0
8〜114unsigned longAttribute Length (=A_L)属性長 (4の倍数) [bytes]
12〜154unsigned longEscape Sequences Length (=ES_L)Escape Sequencesの長さ [bytes]
161unsigned charCharacter Set Typecharspec の Character Set Type と同じ
17〜A_L-1ES_Lunsigned char[ES_L]Escape Sequencesエスケープシーケンス


posted by 七癖 at 09:40| Comment(0) | TrackBack(0) | ファイルシステム | このブログの読者になる | 更新情報をチェックする
×

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