regid (もしくは Entity identifier、EntityID) はその処理方法名を示します。
regid format
RBP | 大きさ | 型 | 名称 | 内容 |
0 | 1 | unsigned char | Flags | =0 フラグ |
1〜23 | 23 | char[23] | Identifier | 方法名 (ASCII) |
24〜31 | 8 | unsigned char[8] | Identifier Suffix | 付帯情報 |
Flags は次のとおりです。
bit | 意味 |
0 | Dirty: 0=有効。1=無効 |
1 | Protected: 0=変更可。1=変更不可 |
2〜7 | =0 予約 |
UDF1.02 では、Flags は 0 です。また、Identifier に ASCII 文字を使います。
Identifier Suffix を使わない場合は、0 で埋めます。
UDF では、regid にセットする値は各記述子の変数ごとに決まっています。
Entity Identifiers
変数名 | Identifier | Identifier Suffix | 使用する記述子 |
Implementation ID | "*開発者名" | 開発者(社)の仕様による | PVD, IUVD, PD, LVD, FID, FE |
Domain ID | "*OSTA UDF Compliant" | {0x02, 0x01, 0x03} | LVD, FSD |
Implementation ID | "*UDF LV Info" | {0x02, 0x01} | IUVD |
Implementation ID | "*UDF FreeEASpace" | {0x02, 0x01} | ファイル拡張属性 |
Application ID | "*UDF FreeAppEASpace" | {0x02, 0x01} | ファイル拡張属性 |
Implementation ID | "*UDF DVD CGMS Info" | {0x02, 0x01} | ファイル拡張属性 |
他に OS/2 用と Macintosh 用が用意されています。
「*開発者名」には、* (=0x2A) (アスタリスク) の後に、
ファイルシステムを作成したプログラム名やそのメーカー名、オ−サリングシステム名
などを ASCII 文字で記述します。
「*開発者名」の Identifier Suffix は、次のとおりです。
Developer IdentifierSuffix field format
RBP | 大きさ | 型 | 名称 | 内容 |
0 | 1 | unsigned char | OS Class | (=0) Operating System Class |
1 | 1 | unsigned char | OS Identifier | (=0) Operating System Identifier |
2〜7 | 6 | unsigned char[6] | Implementation Use Area | 開発者(社)の仕様による |
「*OSTA UDF Compliant」の Identifier Suffix は、次のようになっています。
Domain IdentifierSuffix field format
RBP | 大きさ | 型 | 名称 | 内容 |
0〜1 | 2 | unsigned short | UDF Revision | =0x0102 (UDF 1.02) |
2 | 1 | unsigned char | Domain Flags | bit0:Hard Write-Protect bit1:Soft Write-Protect bit2〜7:予約 |
3〜7 | 5 | - | Reserved | =0 |
フラグの Hard Write-Protect は永久に変更不可であり、
Soft Write-Protect は書き換え可能なメディアでユーザーが指定できるようになっており、
Hard Write-Protect が 1 であれば Soft Write-Protect が 0 でも書き込み不可なのですが、
書き換えを考えない場合は、両方 1 でいいでしょう。
他の UDF で定義されている値の Identifier Suffix は、次のとおりです。
UDF IdentifierSuffix field format
RBP | 大きさ | 型 | 名称 | 内容 |
0〜1 | 2 | unsigned short | UDF Revision | =0x0102 (UDF 1.02) |
2 | 1 | unsigned char | OS Class | (=0) Operating System Class |
3 | 1 | unsigned char | OS Identifier | (=0) Operating System Identifier |
4〜7 | 4 | - | Reserved | =0 |
Operating System Class と Operating System Identifier は次のとおりです。
Operating System Class
Value | Operating System Class |
0 | 未定義 (どれでも対応) |
1 | DOS |
2 | OS/2 |
3 | Macintosh OS |
4 | UNIX |
5 | Windows 9x |
6 | Windows NT |
7 | OS/400 |
8 | BeOS |
9 | Windows CE |
10〜255 | 予約 |
Operating System Identifier
OS Class | OS Identifier | Operating System Identified |
0 | - | 未定義 (どれでも対応) |
1 | 0 | DOS |
2 | 0 | OS/2 |
3 | 0 | Macintosh OS 9 以前 |
3 | 1 | Macintosh OS X 以降 |
4 | 0 | UNIX 一般 |
4 | 1 | UNIX - IBM AIX |
4 | 2 | UNIX - SUN Solaris |
4 | 3 | UNIX - HP/UX |
4 | 4 | UNIX - Silicon Graphics Irix |
4 | 5 | UNIX - Linux |
4 | 6 | UNIX - MKLinux |
4 | 7 | UNIX - FreeBSD |
4 | 8 | UNIX - NetBSD |
5 | 0 | Windows 9x 一般(98/MEを含む) |
6 | 0 | Windows NT 一般(2000, XP, Server 2003, 及びそれ以降を含む) |
7 | 0 | OS/400 |
8 | 0 | BeOS 一般 |
9 | 0 | Windows CE 一般 |
10〜255 | - | 予約 |
このOS の部分のみ、UDF2.50 と UDF2.60 の情報を元に追加しました。
多くの DVD-ROM 、そして DVD-Video では、両方とも 0 になっています。
各 ID は ASCII 文字ですが、一応書き出します。
UDF Entity Identifier Values
Identifier | Byte Value |
"*OSTA UDF Compliant" | {0x2A, 0x4F, 0x53, 0x54, 0x41, 0x20, 0x55, 0x44, 0x46, 0x20, 0x43, 0x6F, 0x6D, 0x70, 0x6C, 0x69, 0x61, 0x6E, 0x74} |
"*UDF LV Info" | {0x2A, 0x55, 0x44, 0x46, 0x20, 0x4C, 0x56, 0x20, 0x49, 0x6E, 0x66, 0x6F} |
"*UDF FreeEASpace" | {0x2A, 0x55, 0x44, 0x46, 0x20, 0x46, 0x72, 0x65, 0x65, 0x45, 0x41, 0x53, 0x70, 0x61, 0x63, 0x65} |
"*UDF FreeAppEASpace" | {0x2A, 0x55, 0x44, 0x46, 0x20, 0x46, 0x72, 0x65, 0x65, 0x41, 0x70, 0x70, 0x45, 0x41, 0x53, 0x70, 0x61, 0x63, 0x65} |
"*UDF DVD CGMS Info" | {0x2A, 0x55, 0x44, 0x46, 0x20, 0x44, 0x56, 0x44, 0x20, 0x43, 0x47, 0x4D, 0x53, 0x20, 0x49, 0x6E, 0x66, 0x6F} |