この標準情報(TR)は, 財団法人光産業技術振興協会(OITDA)が受託した"光ディスクシステムの相互運用性確保のための標準化"の新規産業支援型国際標準開発事業(1998〜2000年度)の成果をもとに工業標準化の促進に関連して特に重要と判断される技術情報をまとめ, 日本工業標準調査会の審議を経て, タイプVの標準情報(TR)として公表するものである。
この標準情報(TR)は, 可換記憶媒体のボリューム構造及びファイル構造のユニバーサルディスクフォーマット(UDF)(JIS X 0609, TR X 0039, TR X 0035を参照。)への適合性を調べるために, UDF Compliance Test Disc Specification Revision 1.0に基づいて適合性試験を行うのに必要なイメージ(可換記憶媒体上に記録されるビットパタン)の作成・記録用のUDF適合性試験ツールを規定する。
次の規格などは,この標準情報(TR)に引用されることによって,この標準情報(TR)の規定の一部を構成する。
UDF Compliance Test Disc Specification Revision 1.0, OSTA, 1999-07
JIS X 0609:1998 情報交換用非逐次記録高密度光ディスクのボリューム及びファイルの構造
備考 Universal Disk Format Specification Revision 1.02, OSTA, 1996-08 が, この規格に対応している。
TR X 0039:2001, ユニバーサルディスクフォーマット(UDF) 1.50
備考 Universal Disk Format Specification Revision 1.50, OSTA, 1997-02 が, この規定に一致している。
TR X 0035:2000 ユニバーサルディスクフォーマット(UDF) 2.00
備考1 Universal Disk Format Specification Revision 2.00, OSTA, 1998-04 が, この規定に一致している。
備考2 Universal Disk Format Specification Revision 2.01, OSTA, 2000-03 は, この規定の一部を修正している。
この標準情報(TR)では, TR X 0035及びTR X 0039での定義を適用する。
UDF適合性試験ツール(以降, 試験ツール)は, Proposed UDF Compliance Test Disc Specification Revision 1.00が定義する試験ディスク#2, #3, #4, #5, #6, #7のイメージを作成し, CD-R及びCD-RWメディアへの書込みを行う。
この試験ツールは, Linux version 2.2.x(Red Hat Linux 7)上で動作する。試験ツールは, 複数のコマンドユーティリティ, コマンドのパラメタファイル, コマンドを記述したシェルスクリプトファイルによって構成され, 試験ディスク毎のスクリプトファイル, コマンドのパラメタファイルを用意してある。
パッケージ形式ではなく, 適切な場所にディレクトリツリーをコピーして使用する。CD-R及びCD-RWメディアへの書込みは, ROOTの権限が必要になる。
アーカイブudfcomp.zipに, 次のファイルがある。
toolkit/ イメージ作成及びSCSI書込みのコマンドユーティリティ用のディレクトリ udf_mkfs : ボリューム作成コマンド udf_utime : 時刻変更 udf_chown : 利用者ID変更コマンド udf_chgrp : グループID変更コマンド udf_chmod : 許可条件変更コマンド udf_creat : ファイル作成コマンド udf_creat_h : ファイル作成コマンド(16進 引数) udf_mkdir : ディレクトリ作成コマンド udf_mkdir_h : ディレクトリ作成コマンド(16進 引数) udf_lnk : ハードリンクコマンド udf_symlnk : シンボリックリンクコマンド udf_mknod : 特殊ファイル作成コマンド udf_rm : ファイル削除コマンド udf_patch : パッチコマンド mkpatch : パッチイメージ作成コマンド scsiwrite : SCSI書込みコマンド disc2/ 試験ディスク#2 用のスクリプト及びパラメタファイル用のディレクトリ disc3/ 試験ディスク#3 用のスクリプト及びパラメタファイル用のディレクトリ disc4/ 試験ディスク#4 用のスクリプト及びパラメタファイル用のディレクトリ disc5/ 試験ディスク#5 用のスクリプト及びパラメタファイル用のディレクトリ disc6/ 試験ディスク#6 用のスクリプト及びパラメタファイル用のディレクトリ disc7/ 試験ディスク#7 用のスクリプト及びパラメタファイル用のディレクトリ
UDF Compliancy Test Disc Specificationが規定する試験ディスクは, 次に示す手順で作成する。
試験ディスク#2の作成手順を次に示す。試験ディスク#3, #4, #5, #7については, 2をそれぞれ3, 4, 5, 7に読み替える。
a) ディレクトリudfcomp/disc2に移動し, 次を入力する。
$ ./disc2.sh
b) スクリプトファイルmkcd7.shを開き, 装置ファイル名を接続されているSCSI機器の割付け順に従って適切に変更する。
c) root権限をもったIDでログインする。
d) ディレクトリudfcomp/disc2に移動する。
e) CD-R/RWレコーダにブランクメディア(#2, #4, #7の作成時はCD-R, #3, #5の作成時はCD-RW)を挿入し, 次を入力する。
$ ./mkcd2.sh
a) ディレクトリudfcomp/disc6に移動し, 次を入力する。
$ ./disc6.sh
b) udfvolume.imgというイメージファイルが作成されるので, これを書込みツールを使用してディスクに書き込む。イメージファイルは, アドレス=0からのイメージとして作成される。書込みは, MODE1, プリギャップ長 = 0 として行う。
試験ツールは, 次に示すコマンドの組合せで構成される。コマンドを組み合せたシェルスクリプトによって, イメージの作成及びディスクへの書込みを行う。
(1) ボリュームファイルの作成 -- udf_mkfs (2) ディレクトリの作成 -- udf_mkdir (3) ディレクトリの作成(16進 引数) -- udf_mkdir_h (4) ファイルの作成 -- udf_creat (5) ファイルの作成(16進 引数) -- udf_creat_h (6) 特殊ファイルの作成 -- udf_mknod (7) ハードリンクの作成 -- udf_lnk (8) シンボリックリンクの作成 -- udf_symlnk (9) ファイルの削除 -- udf_rm (10) ファイル時刻の変更 -- udf_utime (11) 属性の変更 -- udf_chmod (12) 利用者IDの変更 -- udf_chown (13) グループIDの変更 -- udf_chgrp (14) ファイルのパッチ -- udf_patch (15) AVDPの書込み -- udf_final (16) イメージの書込み -- scsiwrite
コマンドの形式において, 各オプションは任意の順序で指定できる。ここで, []で囲ったものは省略でき, 囲っていないものは省略できない。
[名前] udf_mkfs - ボリュームファイルの作成 [形式] udf_mkfs -f volumespec [機能] パラメタファイルvolumespecに従って, 初期化されたボリュームの イメージを出力する。udf_mkfsは, udfvolume.imgというファイル名 のイメージファイルをカレントディレクトリに出力する。 最新のVATデータを保存しておくためのファイルvatfile.dat及び パケットライティングを行うときに必要なpacketlst.datが, カレントディレ クトリに作成される。 packetlst.datには, パケットのリストが記録される。 udf_creat, udf_mkdir等のツールを使用して, このイメージファイル udfvolume.imgに対してUDFフォーマットのファイル及びディレクトリを 記録する。 -f ボリュームの構造を定義するパラメタファイルのファイル名を 指定する。 パラメタファイルの記述方法は, 6.に示す。 [使用例] $ ./udf_mkfs -f volume.def
[名前] udf_mkdir - ディレクトリの作成 [形式] udf_mkdir -p pathname [-u udfcompid ] [-a adtype] [-s serial] [-Pe partno] [-Pd partno] [-E0 embeddedEA] [-E1 icbEA] [-F] [機能] カレントディレクトリのイメージファイルudfvolume.imgに, pathnameの ディレクトリを作成する。 udf_mkdirは, pathnameのパスが存在しない場合, そのパスを自動的に作成 する。 -p 作成するディレクトリを絶対パスで指定する。 -u ディレクトリ名のUDF圧縮識別子を指定する。 8 : 圧縮ビット列中の1文字は8ビット 16 : 圧縮ビット列中の1文字は16ビット このオプションの指定がない場合は, UDF圧縮識別子は16とする。 -a 作成するディレクトリのファイルエントリで使用する割付け記述子の タイプを指定する。 0 : 短割付け記述子 1 : 長割付け記述子 3 : 直割付け このオプションの指定がない場合は, 長割付け記述子を使用する。 -s 作成するディレクトリのファイルエントリに記録するタグシリアル番号を 指定する。 このオプションの指定がない場合は, シリアル番号1を使用する。 -Pe 作成するディレクトリのファイルエントリを置く区画番号を 指定する。 このオプションの指定がない場合は, 仮想区画が存在すれば 仮想区画にファイルエントリを置く。 -Pd 作成するディレクトリのデータが置かれる区画番号を指定する。 このオプションの指定がない場合は, 仮想区画が存在すれば 仮想区画にディレクトリデータを置く。 -E0 ファイルエントリ内に記録する拡張属性を定義したパラメタファイルの ファイル名を指定する。 -E1 拡張属性ICBとして記録する拡張属性を定義したパラメタファイルのファイル名 を指定する。 拡張属性のパラメタファイルの記述方法は, 7.に示す。 -F 仮想区画が存在する場合, イメージファイルの最終ブロックに最新の VATを書き出す。 [使用例] $ ./udf_mkdir -p /TIME/TIME_ZONES -u 8 ディレクトリ/TIME が存在しない場合, /TIMEを作成し, その下に ディレクトリTIME_ZONESを作成する。 ディレクトリ名"TIME_ZONES" は, 圧縮識別子8で作成する。
[名前] udf_mkdir_h - ディレクトリの作成(16進 引数) [形式] udf_mkdir_h -p parent -c namecode -u udfcompid [-a adtype] [-s serial] [-Pe partno] [-Pd partno] [-E0 embeddedEA] [-E1 icbEA] [-F] [機能] カレントディレクトリのイメージファイルudfvolume.imgに, 16進で指定された ディレクトリ名のディレクトリを, 親ディレクトリparentの下に作成する。 ディレクトリを置く親ディレクトリは, 予め作成しておく。 udf_mkdir_hは, コマンドラインからディレクトリ名を文字列で与えることが 不可能な場合に使用する。 -p 親ディレクトリを絶対パスで指定する。 親ディレクトリは, 予め作成しておく。 -u ディレクトリ名のUDF圧縮識別子を指定する。 8 : 圧縮ビット列中の1文字は8ビット 16 : 圧縮ビット列中の1文字は16ビット -c ディレクトリ名を16進で指定する。 デレクトリ名を構成する各バイトを2桁の16進数で表現し,2桁の16進数の間は ','で区切る。(スペース, タブは挿入しないこと。) -a 作成するディレクトリのファイルエントリで使用する割付け記述子のタイプを 指定する。 0 : 短割付け記述子 1 : 長割付け記述子 3 : 直割付け このオプションの指定がない場合は, 長割付け記述子を使用する。 -s 作成するディレクトリのファイルエントリに記録するタグシリアル番号を 指定する。 このオプションの指定がない場合は, シリアル番号1を使用する。 -Pe 作成するディレクトリのファイルエントリを置く区画番号を 指定する。 このオプションの指定がない場合は, 仮想区画が存在すれば 仮想区画にファイルエントリを置く。 -Pd 作成するディレクトリのデータが置かれる区画番号を指定する。 このオプションの指定がない場合は、仮想区画が存在すれば 仮想区画にディレクトリデータを置く。 -E0 ファイルエントリ内に記録する拡張属性を定義したパラメタファイルの ファイル名を指定する。 -E1 拡張属性ICBとして記録する拡張属性を定義したパラメタファイルのファイル名 を指定する。 [使用例] $ ./udf_mkdir -p /filename $ ./udf_mkdir_h -u 16 -p /filename -c 65,e5,67,2c,8a,9e,30,c7,30,a3,30,ec,30,af,30,c8,30,ea
[名前] udf_creat - ファイルの作成 [形式] udf_creat -p filename [-u udfcompid ] [-a adtype] [-s serial] [-Pe partno] [-Pd partno] [-E0 embeddedEA] [-E1 icbEA] [-I implementlen] [-c contents] [-nocrc] [-F] [機能] カレントディレクトリのイメージファイルudfvolume.imgに, ファイル名filenameの ファイルを作成する。 udf_creatは, filenameのパスが存在しない場合には, パスを自動的に作成する。 -p 作成するファイルのファイル名を絶対パスで指定する。 -u ファイル名のUDF圧縮識別子を指定する。 8 : 圧縮ビット列中の1文字は 8ビット 16 : 圧縮ビット列中の1文字は16ビット このオプションの指定がない場合は, UDF圧縮識別子は16とする。 -a 作成するファイルのファイルエントリで使用する割付け記述子のタイプを 指定する。 0 : 短割付け記述子 1 : 長割付け記述子 3 : 直割付け このオプションの指定がない場合は、長割付け記述子を使用する。 -s 作成するファイルのファイルエントリに記録するタグシリアル番号を 指定する。 このオプションの指定がない場合は, シリアル番号1を使用する。 -Pe 作成するファイルのファイルエントリを置く区画番号を 指定する。 このオプションの指定がない場合は, 仮想区画が存在すれば 仮想区画にファイルエントリを置く。 -Pd 作成するファイルのデータが置かれる区画番号を指定する。 このオプションの指定がない場合は, 仮想区画が存在すれば 仮想区画にディレクトリデータを置く。 -E0 ファイルエントリ内に記録する拡張属性を定義したパラメタファイルの ファイル名を指定する。 -E1 拡張属性ICBとして記録する拡張属性を定義したパラメタファイルのファイル名 を指定する。 -I 作成するファイルのファイル識別子記述子のImplementationUseフィールドの 長さを指定する。このオプションの指定がない場合, ImplementationUse フィールドの長さは, 32バイトとする。 このオプションの指定がある場合は, ファイル識別子記述子は, ブロックを またいで記録できる。特に指定がない場合, ファイル識別子記述子は, ブロックをまたがないように記録される。 -nocrc このファイルの32ビットCRCの出力を行わない。 このオプションを指定しないときは, DOS, Win95, WinNT, UNIX, Macの 各OS固有の識別子に変換されたファイル名と, そのファイルの32ビットCRC とが記述されているテキストファイルを出力する。 -c ファイルに書き込むデータの種別を指定する。 0 : 次の512バイトのレコード構造のデータをファイルに記録する。 struct FileRecord { Uint32 RecordNumber; Uint8 LengthOfName; Uint8 NameOnDisc[]; } 1 : ファイルの絶対パス名を記録する。 0, 1以外: オプションの引数に渡された文字列を, udf_creatで作成するファイルに 書き込む内容が保存されているファイル名として解釈する。このオプション を使用して, 任意のデータをファイルに記録できる。 このオプションの指定がない場合は, 種別0のデータを書き込む。 -F 仮想区画が存在する場合, イメージファイルの最終ブロックに最新の VATを書き出す。 [使用例] $ ./udf_creat -p /TIME/TIME_ZONES/GMT_-2400.TXT
[名前] udf_creat_h - ファイルの作成(16進 引数) [形式] udf_creat_h -p parent -c namecode -u udfcompid [-a adtype] [-s serial] [-Pe partno] [-Pd partno] [-E0 embeddedEA] [-E1 icbEA] [-I implen] [-C contentsType] [-F] [機能] カレントディレクトリのイメージファイルudfvolume.imgに, 16進で指定された ファイル名のファイルを親ディレクトリparentの下に作成する。 ファイルを置く親ディレクトリは, 予め作成しておく。 -p 親ディレクトリを絶対パスで指定する。 親ディレクトリは, 予め作成しておく。 -u ファイル名のUDF圧縮識別子を指定する。 8 : 圧縮ビット列中の1文字は 8ビット 16 : 圧縮ビット列中の1文字は16ビット -c ファイル名を16進で指定する。 2桁の16進数表示のバイト列で, 名前を直接定義する。各バイト間は',' で区切りる。(スペース, タブは挿入しないこと。) -a 作成するファイルのファイルエントリで使用する割付け記述子のタイプを 指定する。 0 : 短割付け記述子 1 : 長割付け記述子 3 : 直割付け このオプションの指定がない場合は、長割付け記述子を使用する。 -s 作成するファイルのファイルエントリに記録するタグシリアル番号を 指定する。 このオプションの指定がない場合は, シリアル番号1を使用する。 -Pe 作成するファイルのファイルエントリを置く区画番号を 指定する。 このオプションの指定がない場合は, 仮想区画が存在すれば 仮想区画にファイルエントリを置く。 -Pd 作成するファイルのデータが置かれる区画番号を指定する。 このオプションの指定がない場合は, 仮想区画が存在すれば 仮想区画にファイルデータを置く。 -E0 ファイルエントリ内に記録する拡張属性を定義したパラメタファイルの ファイル名を指定する。 -E1 拡張属性ICBとして記録する拡張属性を定義したパラメタファイルのファイル名 を指定する。 -I 作成するファイルのファイル識別子記述子のImplementationUseフィールドの 長さを指定する。このオプションの指定がない場合, ImplementationUse フィールドの長さは32バイトとする。 このオプションの指定がある場合は, ファイル識別子記述子はブロックを またいで記録できる。特に指定がない場合は, ファイル識別子記述子は, ブロックをまたがないように記録される。 -C ファイルに書き込むデータの種別を指定する。 0 : 次の512バイトのレコード構造のデータをファイルに記録する。 struct FileRecord { Uint32 RecordNumber; Uint8 LengthOfName; Uint8 NameOnDisc[]; } 1 : ファイルの絶対パス名を記録する。 0, 1以外: オプションの引数に渡された文字列を、udf_creatで作成するファイルに 書きこむ内容が保存されているファイル名として解釈する。このオプション を使用して, 任意のデータをファイルに記録できる。 このオプションの指定がない場合は, 種別0のデータを書き込む。 -F 仮想区画が存在する場合, イメージファイルの最終ブロックに最新の VATを書き出す。 [使用例] $ ./udf_mkdir -p /filename $ ./udf_creat_h -p 16 -d /filename -c 65,e5,67,2c,8a,9e,30,c7,30,a3,30,ec,30,af,30,c8,30,ea
[名前] udf_mknod - 特殊ファイルの作成 [形式] udf_mknod -p filename -t filetype [-E0 embeddedEA] [-F] [機能] カレントディレクトリのイメージファイルudfvolume.imgに, filetypeの特殊ファイルを 作成する。udf_mknodは, filenameのパスが存在しない場合には, パスを自動的に作成する。 文字形装置, ブロック形装置を作成するときには, -E0 オプションを使用して, 装置仕様の拡張属性を設定する。 -p ファイル名を絶対パスで指定する。 -t ファイルタイプを指定する。 b : ブロック形装置 c : 文字形装置 p : FIFOファイル s : ソケット これら以外は, エラーになる。 シンボリックリンクファイルは, 別のコマンド udf_symlnkで作成できる。 -h 0〜255の10進数で, ファイルタイプを数値で指定する。数値で指定する場合は, 文字によるファイルタイプ指定は無視される。 -E0 ファイルエントリ内に記録する拡張属性を定義したパラメタファイルの ファイル名を指定する。文字形装置, ブロック形装置を作成する ときは, 装置仕様の拡張属性を設定する。 -F 仮想区画が存在する場合, イメージファイルの最終ブロックに最新の VATを書き出す。 [使用例] $ ./udf_mknod -p /blockdevice -t b $ ./udf_mknod -p /characterdevice -t c
[名前] udf_lnk - ハードリンクの作成 [形式] udf_lnk -s source -t target [-F] [機能] ファイルsourceに対するハードリンクファイルtargetを作成する。 udf_lnkは, targetのパスが存在しない場合には, パスを自動的に作成する。 -s ソースとなるファイル名を絶対パスで指定する。 -t ハードリンクファイルを絶対パスで指定する。 -F 仮想区画が存在する場合, イメージファイルの最終ブロックに最新の VATを書き出す。 [使用例] $ ./udf_creat -p /link/file $ ./udf_lnk -s /link/file -t /link/file2
[名前] udf_symlnk - シンボリックリンクの作成 [形式] udf_symlnk -s source -t target [-p pathform] [-F] [機能] ファイルsourceに対するシンボリックリンクファイルtargetを作成する。 udf_symlnkは, targetのパスが存在しない場合には, パスを自動的に作成する。 シンボリックリンクファイルのファイルに書き込むパスの形式をpathformで 指定する。このオプションがない場合は, シンボリックリンクファイルには 絶対パスでリンク先のファイル名が記録される。 -s ソースとなるファイル名を絶対パスで指定する。 -t シンボリックリンクファイルを絶対パスで指定する。 -p リンク先を指定するパスの形式を指定する。 このパス名で指定された場所, 指定された名前のファイルがあるか どうかのチェックはしない。ここで指定されたパスが, ファイルに 記録される。 -F 仮想区画が存在する場合, イメージファイルの最終ブロックに最新の VATを書き出す。 [使用例] $ ./udf_creat -p /link/file $ ./udf_symlnk -s /link/file -t /link/file2 -p ../link/../link/file
[名前] udf_rm - ファイルの削除 [形式] udf_rm -p filename [-F] [機能] ファイルfilenameを, その親ディレクトリの中から削除する。 udf_rmは, 親ディレクトリの中にある当該ファイルのファイル識別子記述子の削除 ビットを1にする。 -p 削除するファイル名を絶対パスで指定する。 -F 仮想区画が存在する場合, イメージファイルの最終ブロックに最新の VATを書き出す。 [使用例] $ ./udf_creat -p /deletefile $ ./udf_rm -p /deletefile
[名前] udf_utime - ファイル日時変更 [形式] udf_utime -p filename -c ctime -m mtime -a atime -z timezone [-F] [機能] カレントディレクトリのイメージファイルudfvolume.imgに記録されている ファイル名filenameのファイルの日時を変更する。 環境変数 UDF_CTIME,UDF_ATIME 及び UDF_MTIME, UDF_TIMEZONE に設定されて いる値がファイルエントリに記録される。これらの環境変数の指定がない 場合は, 時刻は現在時刻, 時間帯はローカルが記録される。 udf_utimeは, ファイル作成時に記録された時刻を変更するのに使用する。 -p ファイルを絶対パスで指定する。 -c ファイル属性変更日時を指定する。 次に例示するとおりに指定する。 ex. -c 19980807060504030201 1999年8月7日 6時5 分 4.030201秒 -m ファイル変更日時を指定する。 指定方法はファイル属性変更日時と同じ。 -a ファイルアクセス日時を指定する。 指定方法はファイル属性変更日時と同じ。 -z 時間帯を指定する。協定世界時からのオフセット(分単位)の値を "GMT"に続けて指定する。 このオプションがない場合は, ローカルの時間帯を使用するものとし, 時間差=0として記録する。 -F 仮想区画が存在する場合, イメージファイルの最終ブロックに最新の VATを書き出す。 [使用例] $ export set UDF_CTIME=19980807060504030201 $ export set UDF_MTIME=19980807060504030201 $ export set UDF_ATIME=19980807060504030201 $ export set UDF_TIMENOZE=GMT0 $ ./udf_creat -p /GMT_-2400.TXT $ ./udf_utime -p /GMT_-2400.TXT -c 19990401010101010101 -m 19990401010101010101 -z GMT-1440
[名前] udf_chmod - ファイル/ディレクトリの属性の変更 [形式] udf_chmod -p filename -m modestring [-F] [機能] カレントディレクトリにあるイメージファイルudfvolume.imgに記録されている ファイル名filenameのファイル又はディレクトリの許可条件を変更する。 -p ファイル又はディレクトリを絶対パスで指定する。 -m 許可条件を指定する。 次の文字で、所有者, グループ, その他の順に許可条件を 指定する。許可を与えない場合は, 各桁に'-'を設定する。 cdrwx c: 属性変更許可 d: 削除許可 r: 読み込み許可 w: 書込み許可 x: 実行許可 -h ファイルエントリの許可条件を, 16進数で指定する。16進数は4桁の16進数として 解釈され, 3桁以下の場合は左に0が埋められる。このオプションが指定された 場合は, 文字による許可条件の設定は無視される。 -F 仮想区画が存在する場合, イメージファイルの最終ブロックに最新の VATを書き出す。 [使用例] a) 所有者, グループ, その他にすべての許可条件を与える場合 $ ./udf_creat -p /rwe $ ./udf_utime -p /rwe -m cdrwxcdrwxcdrwx b) 所有者, グループ, その他にすべてのRead, Write許可条件だけを与える場合 $ ./udf_creat -p /r $ ./udf_utime -p /r -h 18c6
[名前] udf_chown - ファイル/ディレクトリの利用者IDの変更 [形式] udf_chown -p filename -u userid [-F] [機能] カレントディレクトリのイメージファイルudfvolume.imgに記録されている ファイル名filenameのファイル又はディレクトリの利用者IDを変更する。 -p ファイル又はディレクトリを絶対パスで指定する。 -u 利用者IDを指定する。 8桁の16進数で指定する。7桁以下の場合は, 左に0を埋めた8桁の16進数と して扱う。 -F 仮想区画が存在する場合, イメージファイルの最終ブロックに最新の VATを書き出す。 [使用例] $ ./udf_creat -p /file $ ./udf_chown -p /file -u 0000FFFF
[名前] udf_chgrp - ファイル/ディレクトリのグループIDの変更 [形式] udf_chgrp -p filename -g groupid [-F] [機能] カレントディレクトリのイメージファイルudfvolume.imgに記録されている ファイル名filenameのファイル又はディレクトリの利用者IDを変更する。 -p ファイル又はディレクトリを絶対パスで指定する。 -u グループIDを指定する。 8桁の16進数で指定する。7桁以下の場合は, 左に0を埋めた8桁の16進数と して扱う。 -F 仮想区画が存在する場合, イメージファイルの最終ブロックに最新の VATを書き出す。 [使用例] $ ./udf_creat -p /file $ ./udf_chgrp -p /file -g 0000FFFF
[名前] udf_patch - ファイルのパッチ [形式] udf_patch -p filename -i image_of_patch [-F] [機能] カレントディレクトリのイメージファイルudfvolume.imgに記録されている ファイル名filenameのファイルエントリ, エクステントにパッチを当てる。 udf_patchは, ファイル名filenameのファイルエントリ及びファイルデータ を, image_of_patchに記録されている内容と置き換える。 udf_patch は, ファイルエントリとファイルデータとの置換えを行うときに, ファイルの32ビットCRCを計算し, 各OS固有のファイル名及びCRCを記述した テキストファイルを出力する。 -d パッチを当てるファイルを絶対パスで指定する。 パッチを当てる前に, このファイル名のファイルを作成しておく必要がある。 -i パッチ用イメージファイルを指定する。 パッチイメージは, mkpatchコマンドで作成する。mkpatchコマンド及び その使用方法は, 8.に示す。 -F 仮想区画が存在する場合, イメージファイルの最終ブロックに最新の VATを書き出す。 [使用例] $ ./mkpatch -i patchdef.pat -o pimage $ ./udf_creat -nocrc -p /file $ ./udf_patch -p /file -i pimage
[名前] udf_final - AVDPを記録し、イメージファイルを閉じる。 [形式] udf_final [-A n] [-A n-256] [機能] カレントディレクトリのイメージファイルudfvolume.imgに, オプションで 指定された位置に開始ボリューム記述子ポインタを記録する。 仮想区画が存在する場合は, 最終ブロックに最新のVATを書き出す。 開始ボリューム記述子ポインタを記録する位置の指定が最終ブロックで ある場合には, VAT ICBは最終ブロックに書き込まれない。 -A 開始ボリューム記述子ポインタ(AVDP)を記録する位置を指定する。 n : 最終ブロックに開始ボリューム記述子ポインタを記録する。 最終ブロックにVATを記録したい場合は, この引数を指定しない。 n-256: N-256のブロックに開始ボリューム記述子ポインタを記録する。 [使用例] $ ./udf_final -A n-256
[名前] scsiwrite - イメージファイルの書込み [形式] scsiwrite -d device -i imagefile [-p packetlst] [機能] 装置ファイル名deviceで指定した装置に対して イメージファイルの書込みを行う。 パケットのリストpacketlstが定義されている場合は, イメージファイルimagefileをパケットのリストに従って パケットライティングで書込みを行う。 -d 書込みを行う装置ファイルを指定する。 接続されたSCSI機器の割付順によって適切に変更する。 -i UDFフォーマットのイメージファイルを指定する。 -p パケットのリストが記録されているパラメタファイルを指定する。 パケットリストファイルには, "パケットの最終アドレス + 7"の 値が, 2進で記録されている。 [使用例] $ ./scsiwrite -d /dev/sga -i udfvolume.img -p packetlst.dat
備考1 -F オプション
イメージ作成に使用するすべてコマンドに, -F オプションがある。 udf_mkfsコマンドのパラメタファイルにおいて, VATの使用を宣言して このオプションを指定すると, イメージファイルの最終アドレスにVAT ICBのブロックを記録し, リンクブロック用のダミーのブロックを挿入する。 このときパケットライティング用のリストファイル packetlst.datが更新される。
備考2 VATデータファイル
5.に示した各コマンドを使用すると, vatfile.datというファイルが 作成される。これには, イメージファイルの最新VATデータが保存されて いる。-F オプションによって最終アドレスにVATが書き込まれるまでは, 各コマンドは, このファイルに保存されているVATデータをロードする。
イメージ作成の途中でこのファイルを削除すると, イメージファイル上に 作成したファイルを参照できなくなる。
udf_mkfsコマンドのパラメタファイルにおいてVATの使用を宣言 しなくても, このファイルは作成される。各プログラムがワークファイル として参照しているため, 消去しないこと。
UDF適合性試験ツールのボリュームファイル作成コマンドudf_mkfsのパラメタとして指定するボリューム定義ファイルの記述方法を規定する。
ボリューム定義ファイルの構造を次に示す。
Directive1 [value] Directive2 [value] Descriptor1: Directive1 value1 value2 .. Directive2 value2 value2 .. ENDS Descriptor2: Directive1 value1 value2 .. Directive2 value1 value2 .. ENDS ... END
ボリューム記述子定義セクションの開始を示すラベルと, その終了を示すENDSとの間に, フィールド設定用のディレクティブとディレクティブ毎の設定値とを記述する。
定義セクション内にないディレクティブは, ボリューム全体に関するパラメタを設定するのに使用する。
ボリュームイメージの定義は, ENDで終了する。
主ボリューム記述子列の定義セクションから, 定義されている順に記述子を記録する。開始ボリューム記述子は, 全記述子を記録した後に指定された位置に記録する。
記述子が書かれないブロックに関しては, Padd定義セクションを使用して, 適切なブロック数だけパディングを行う。
(1) DiscSize 機能:ディスクの容量を指定する。 記述:"DiscSize size" size : ディスクの最大ブロック数 (2) BlockSize 機能:ブロックサイズを指定する。 記述:"BlockSize size" size : ディスクのブロックサイズ (3) BlockCntl 機能:空きブロックの管理方法を指定する。 記述:"BlockCntl method" method : 0/1/2 = Bitmap/Table/Vat (4) Anchor 機能:開始ボリューム記述子ポインタの位置を指定する。 記述:"Anchor pos" pos : 256 or 512 備考:これは, 初期化されたボリュームのイメージだけの 指定を行うためのディレクティブなので, N, N-256については扱わない。 N, N-256の開始ボリューム記述子の記録については, コマンドudf_closeで扱う。 (5) VDS_Start 機能:ボリューム記述子列の開始位置を指定する。 記述:"BlockCntl method" method : 0/1/2 = Bitmap/Table/Vat (6) ISOBridge 機能:ボリュームが, ISO 9660ブリッジをもつことを指定する。 記述:"ISOBridge" (7) UdfRevision 機能:UDFの規定を指定する。 記述:"UdfRevision vers" vers = X.YY形式の数字
(1) PVD: 基本ボリューム記述子の定義セクションの 開始を指定する。 (2) Copyright 機能:著作権ファイルのエクステントの位置及びサイズを指定する。 記述:"Copyright loc len" loc: エクステントの位置 len: エクステントのサイズ (3) Abstract 機能:抄録ファイルのエクステントの位置及びサイズを指定する。 記述:"Abstract loc len" loc: エクステントの位置 len: エクステントのサイズ (4) VolumeID 機能:ボリューム識別子を指定する。 記述:"VolumeID identifier" identifier: 識別子 (5) hVolumeID 機能:ボリューム識別子を16進で直接指定する。 記述:"hVolumeID idcode compid" idcode: 1バイトを2桁の16進数で記述。バイト間は','で区切る。 compid: UDF圧縮識別子 (6) VolumeSetID 機能:ボリューム集合識別子の8バイト目以降に記録するIDを指定する。 記述:"VolumeSetID identifier" (7) ENDS 定義セクションの終了を指定する。
(1) LVD: 論理ボリューム記述子の定義セクションの開始を指定する。 (2) BlockSize 機能:論理ブロックサイズを指定する。 記述:"BlockSize size" size: ブロックサイズ (3) Integrity 機能:論理ボリューム保全記述子列のエクステントの位置及びサイズを指定する。 記述:"Integrity loc len" loc: エクステントの位置 len: エクステントのサイズ (4) FileSet 機能:ファイル集合記述子の位置を指定する。 記述:"FileSet loc pno" loc: ファイル集合記述子のエクステントの位置 pno: ファイル集合記述子のある区画番号 (5) VolumeID 機能:ボリューム識別子を指定する。 記述:"VolumeID identifier" identifier: ボリューム識別子 compid: UDF圧縮識別子 (6) hVolumeID 機能:ボリューム識別子を16進で直接指定する。 記述:"hVolumeID idcode compid" idcode: 1バイトを2桁の16進数で記述。バイト間は','で区切る。 compid: UDF圧縮識別子 (7) PMap 機能:区画マップを指定する。 記述:"PMap type volno pno" type: "TYPE1" タイプ1の区画マップ "VMAP" 仮想区画マップ "SMAP" スペアラブル区画マップ volno: ボリューム番号 pno: 区画番号 (8) ENDS 定義セクションの終了を指定する。
(1) PD: 区画記述子の定義セクションの開始を指定する。 (2) PartitionNo 機能:区画番号を指定する。 記述: "PartitionNo pno" pno: 区画番号 (3) AccessType 機能:アクセス種別を指定する。 記述: "AccessType type" type: アクセス種別 (1:ReadOnly,2:WriteOnce,3:ReWritable, 4:OverWrite) (4) Location 機能:区画の開始位置及びサイズを指定する。 記述:"Location loc len" loc: 区画の開始位置 len: 区画のサイズ (5) UnallocTbl 機能:未割付空間テーブルの開始位置及びサイズを指定する。 記述:"UnallocTbl loc len" loc: 未割付空間テーブルの開始位置(使用しない場合は0) len: 未割付空間テーブルのサイズ(使用しない場合は0) (6) UnallocBmp 機能:未割付空間ビットマップの開始位置及びサイズを指定する。 記述:"UnallocBmp loc len" loc: 未割付空間ビットマップの開始位置(使用しない場合は0) len: 未割付空間ビットマップのサイズ(使用しない場合は0) (7) FreeTbl 機能:自由空間テーブルの開始位置及びサイズを指定する。 記述:"UnallocTbl loc len" loc: 自由空間テーブルの開始位置(使用しない場合は0) len: 自由空間テーブルのサイズ(使用しない場合は0) (8) FreeBmp 機能:自由空間ビットマップの開始位置及びサイズを指定する。 記述:"UnallocBmp loc len" loc: 自由空間ビットマップの開始位置(使用しない場合は0) len: 自由空間ビットマップのサイズ(使用しない場合は0) (9) IntegTbl 機能:区画保全テーブルの開始位置及びサイズを指定する。 記述:"integTbl loc len" loc: 区画保全テーブルの開始位置(使用しない場合は0) len: 区画保全テーブルのサイズ(使用しない場合は0) (10) ENDS 定義セクションの終了を指定する。
(1) USD: 未割付け空間記述子の定義セクションの開始を指定する。 (2) UnallocExtent 機能:未割付け空間エクステントの開始位置及びサイズを指定する。 記述:"integTbl loc len" loc: 未割付け空間の開始位置 len: 未割付け空間のサイズ (3) ENDS 定義セクションの終了を指定する。
(1) IMPL: 処理システム用ボリューム記述子の定義セクションの開始を指定する。 (2) VolumeID 機能:ボリューム識別子を指定する。 記述:"VolumeID identifier" identifier: ボリューム識別子 (3) ENDS 定義セクションの終了を指定する。
(1) TVD: 終端ボリューム記述子の定義セクションの開始を指定する。 (2) ENDS 定義セクションの終了を指定する。
(1) AVDP: 開始ボリューム記述子ポインタの定義セクションの開始を指定する。 (2) Main 機能:主ボリューム記述子列の開始位置及びサイズを指定する。 記述:"Main loc len" loc: 主ボリューム記述子列の開始位置 len: 主ボリューム記述子列のサイズ (3) Reserve 機能:予備ボリューム記述子列の開始位置及びサイズを指定する。 記述:"Reserve loc len" loc: 予備ボリューム記述子列の開始位置 len: 予備ボリューム記述子列のサイズ (4) ENDS 定義セクションの終了を指定する。
(1) VDP: ボリューム記述子ポインタの定義セクションの開始を指定する。 (2) Next 機能:次のボリューム記述子列の開始位置及びサイズを指定する。 記述:"Main loc len" loc: 次のボリューム記述子列の開始位置 len: 次のボリューム記述子列のサイズ (3) ENDS 定義セクションの終了を指定する。
(1) BMP: 自由空間ビットマップの定義セクションの開始を指定する。 (2) BitNum 機能:ビット数を指定する。 記述:"BitNum num" num: ビット数 (3) ByteNum 機能:ビットマップのバイト数を指定する。 記述:"ByteNum num" num: バイト数 (4) ENDS 定義セクションの終了を指示する。
(1) LVID: 論理ボリューム保全記述子の定義セクションの開始を指示する。 (2) Type 機能:論理ボリューム保全記述子のタイプを指定する。 記述:"Type desctype" desctype: "Open", or "Close" (3) Next 機能:次の保全記述子列を指定する。 記述:"Next loc len" loc: 次の保全記述子列の開始位置 len: 次の保全記述子列のサイズ (4) PartNum 機能:区画数を指定する。 記述:"PartNum num" num: 区画数 (5) FileNum 機能:ファイル数を指定する。 記述:"FileNum num" num: ファイル数 (6) DirNum 機能:ディレクトリ数を指定する。 記述:"DirNum num" num: ディレクトリ数 (7) SpaceTbl 機能:利用可能空間テーブルを指定する。 記述:"SpaceTbl size1 size2 ...." sizeN: 区画Nの利用可能なサイズ (N=5まで) (8) SizeTbl 機能:区画サイズテーブルを指定する。 記述:"SizeTbl size1 size2 ...." sizeN: 区画Nのサイズ (N=5まで) (9) ENDS 定義セクションの終了を指示する。
(1) FSD: ファイル集合記述子の定義セクションの開始を指示する。 (2) VolumeID 機能:論理ボリューム識別子を指定する。 記述:"VolumeID identifier" identifier: 論理ボリューム識別子 (3) FileSetID 機能:ファイル集合識別子を指定する。 記述:"FileSetID identifier" identifier: ファイル集合識別子 (4) Root 機能:ルートディレクトリICBの位置を指定する。 記述:"Root loc len partno" loc: ルートディレクトリICBの位置 len: ルートディレクトリICBのサイズ partno: ルートディレクトリICBの区画番号 (5) ENDS 定義セクションの終了を指示する。
(1) Padd: パディング用のブロックの定義セクションの開始を指示する。 (2) Blocks 機能:パディングするブロックのブロック数を指定する。 記述:"Blocks n" n: ブロック数 (3) ENDS 定義セクションの終了を指示する。
UDF適合性試験ツールのファイル作成コマンドudf_creatのパラメタとして指定する拡張属性定義ファイルの記述方法を規定する。
拡張属性定義ファイルの構造を次に示す。
Attribute1: Directive1 value1 value2 .. Directive2 value2 value2 .. ENDE Attribute2: Directive1 value1 value2 .. Directive2 value1 value2 .. ENDE .... END
拡張属性定義セクションの開始を示すラベルと, その終了を示すENDEとの間に, フィールド設定用のディレクティブとディレクティブ毎の設定値とを記述する。
拡張属性の定義はENDで終了する。
先頭の拡張属性定義セクションから, 定義されている順に属性が作成される。
(1) FILE_TIMES: ファイル日時拡張属性の定義セクションの 開始を指定する。 デフォルトの作成日時又は現在時刻が設定する。 (2) ENDE 定義セクションの終了を指定する。
(1) IMPLUSE_FREE: 空きEA空間の定義セクションの開始を指定する。 (2) Spalcelen 機能:空き空間のサイズを指定する。 記述:"Spacelen len" len: 空き空間サイズ (3) ENDE 定義セクションの終了を指定する。
(1) IMPLUSE_DVD: DVD著作権管理情報の定義セクションの開始を指定する。 (2) CGMS 機能:バイトのCGMS情報を指定する。 記述:"CGMS data" data: CGMS情報 (3) DataType 機能:データ構造種別を指定する。 記述:"DataType type" type: データ種別 (4) SystemInfo 機能:保護システム情報を指定する。 記述:"SystemInfo info" info: 4バイトデータを10進で指定する。 (5) ENDE
(1) IMPUSE_OS_EA OS2拡張属性の定義セクションの開始を指定する。 (2) Flag 機能:Flagを指定する。 記述:"Flag data" data: フラグ (3) Name 機能:名前を指定する。 記述:"Name name" name: 名前 (4) Fea 機能:"名前"の後に記録するOS/2拡張属性の値を指定する。 記述:"Fea data1,data2,data2,..,dataN " dataN: 2桁の16進数 (3) ENDE 定義セクションの終了を指定する。
備考 OS/2の拡張属性については, 次の文献を参照されたい。
"Installable File Systems for OS/2 Version 2.0"
OS/2 File System Dpartment
PSPC Boca Raton, Florida
February 17, 1992
(1) IMPLUSE_OS2EA_LEN OS/2拡張属性長の定義セクションの開始を指定する。 (2) EAlen 機能:OS/2拡張属性長を指定する。 記述:"EAlen len" len: 拡張属性長 (3) ENDE 定義セクションの終了を指定する。
(1) IMPLUSE_MAC_FINDER Macintoshファインダ情報の定義セクションの開始を指定する。 (2) Type 機能:ファインダ情報の種別を指定する。 記述:"Type ftype" ftype: "File" or "Dir" (3) RsrcLen 機能:リソースフォークのデータサイズを指定する。 記述:"RsrcLen len" len: リソースデータ長 (4) RsrcAllocLen 機能:リソースフォークのデータサイズを指定する。 記述:"RsrcLen len" len: リソースデータ長 (2) ENDE 定義セクションの終了を指定する。
備考 親ディレクトリID及びファイル情報については, 特に指定がないため, ここではすべて0を設定している。ファイル情報を設定するための必要となるディレクティブも用意していない。
(1) IMPLUSE_MAC_RSRC Macintoshリソースフォークの定義セクションの開始を指定する。 (2) RsrcLen 機能:リソースフォーク拡張属性に設定する拡張属性のサイズ 記述:"RsrcLen len" len: リソースのサイズ このディレクティブにつづいて, リソースデータを16進で 列挙して指定する。 (4) ENDE 定義セクションの終了を指定する。
(1) VDP ボリューム記述子ポインタの定義セクションの開始を指定する。 (2) Next 機能:次のボリューム記述子列の開始位置及びサイズを指定する。 記述:"Main loc len" loc: 次のボリューム記述子列の開始位置 len: 次のボリューム記述子列のサイズ (3) ENDS 定義セクションの終了を指定する。
(1) APPUSE_FREE 自由空間ビットマップの定義セクションの開始を指定する。 (2) Spalcelen 機能:空き空間のサイズを指定する。 記述:"Spacelen len" len: 空き空間サイズ (3) ENDE 定義セクションの終了を指定する。
(1) DEV_SPEC 装置仕様の拡張属性の定義セクションの開始を指定する。 (2) Major 機能:メジャ装置番号を指定する。 記述:"Major number" number: メジャ装置番号 (3) Minor 機能:マイナ装置番号を指定する。 記述:"Minor number" number: マイナ装置番号 (4) ENDE 定義セクションの終了を指定する。
UDF適合性試験ツールで使用するコマンドudf_patchのパラメタとして指定するパッチ用イメージファイルを規定する。
パッチイメージファイルは, コマンドmkpatchによって次のとおりに作成する。
$ mkpatch -i パッチ定義ファイル -o 出力ファイル名
コマンドmkpatchの出力ファイルを, udf_patchの入力に使用する。
パッチイメージ定義ファイルの構造を次に示す。
Block1: Directive1 value1 value2 .. Directive2 value2 value2 .. ENDB Block2: Directive1 value1 value2 .. Directive2 value1 value2 .. ENDB .... END
ブロック定義セクションの開始を示すラベルと, その終了を示すENDBとの間に, フィールド設定用のディレクティブとディレクティブ毎の設定値とを記述する。
パッチイメージの定義は, ENDで終了する。
先頭のブロック定義セクションから, 定義されている順にパッチ用のブロックが作成される。
パッチイメージ定義ファイルで使用するアドレス(タグ位置, 割付け記述子中のアドレス等)は, パッチイメージファイルの先頭からのオフセット値を定義する。イメージファイルudfvolume.imgにパッチするときに, udf_patchツールが適切なアドレスに変換する。
パッチする際に, ファイルエントリ及び割付けエクステント記述子のCRC及びチェックサムは, udf_patchツールが計算して適切な値を設定する。
(1) FILE_ENTRY: ファイルエントリブロックの定義セクションの 開始を指定する。 (2) TAG_Version 機能:タグ版数を指定する。 記述:"TAG_Version version" version: 版数(2を指定) (3) TAG_Serial 機能:タグシリアル番号を指定する。 記述:"TAG_Serial serial" serial: シリアル番号 (4) TAG_Location 機能:タグの位置を指定する。 記述:"TAG_Location loc" loc: タグの位置 (5) ICB_PreRecord 機能:記録済み直接エントリの個数を指定する。 記述:"ICB_PreRecord num" num: 記録済み直接エントリの個数 (6) ICB_Strategy 機能:方策種別を指定する。 記述:"ICB_Strategy strategy" strategy: ストラテジ(=4) (7) ICB_MaxEntries 機能:最大エントリ番号を指定する。 記述:"ICB_MaxEntries max" max: 最大エントリ番号(=1) (8) ICB_FileType 機能:ファイルタイプを指定する。 記述:"ICB_FileType ftype" ftype: ファイルタイプ(4:directory, 5:ファイル) (9) ICB_ParentLBN 機能:親ICB位置を指定する。 記述:"ICB_ParentLBN lbn" lbn: 親ICBのアドレス(=0) このアドレスは, パッチする際に変換されない。 (9) ICB_ParentPart 機能:親ICBの区画を指定する。 記述:"ICB_ParentPart pno" pno: 親ICBの区画番号(=0) (10) ICB_Flag 機能:ICBフラグを指定する。(割付け記述子のタイプを指定) 記述:"ICB_Flag flag" flag: icbフラグの値を10進で設定。 (11) Uid 機能:利用者IDを指定する。 記述:"Uid idno" idno: 利用者ID番号を10進で設定。 (12) Gid 機能:グループIDを指定する。 記述:"Gid idno" idno: グループID番号を10進で設定。 (13) Permission 機能:許可条件を指定する。 記述:"Permission mode" mode: 許可条件を10進で設定。 (14) LinkCount 機能:リンクカウントを指定する。 記述:"LinkCount count" count: リンクカウント (15) InfoLen 機能:情報長を指定する。 記述:"InfoLen len" len: 情報長を16進で指定。 (16) BlockNum 機能:記録済み論理ブロック数を指定する。 記述:"BlockNum num" num: ブロック数 (17) CheckPoint 機能:記録済み論理ブロック数を指定する。 記述:"CheckPoint num" num: ブロック数 (18) AccessTime 機能:アクセス日時を指定する。 記述:"AccessTime datetimestring" datetimestring: 日時を次のとおりに指定。 19980807060504030201: 1998年8月7日6時5分4.030201秒 (19) ModificationTime 機能:変更日時を指定する。 記述:"ModificationTime datetimestring" datetimestring: 日時を指定(指定方法は, AccessTimeと同様。) (20) AttributeTime 機能:属性日時を指定する。 記述: "AttributeTime datetimestring" datetimestring: 日時を指定( 指定方法はAccessTimeと同様。) (21) AllocDescLen 機能:割付け記述子欄のサイズを指定する。 記述:"AllocDescLen len" len: 割付け記述子欄のサイズ このディレクティブに続いて, 割付け記述子欄に記録するデータを 直接指定する。1バイトを2桁の16進数で表わし, 各バイトの定義毎 に','を記録する。(最後のバイトの定義の後も','を省かない。) (22) ENDB 定義セクションの終了を指定する。
(1) ALLOC_EXT_DESC 割付けエクステント記述子ブロックの定義セクションの 開始を指定する。 (2) TAG_Version 機能:タグ版数を指定する。 記述:"TAG_Version version" version: 版数(2を指定) (3) TAG_Serial 機能:タグシリアル番号を指定する。 記述:"TAG_Serial serial" serial: シリアル番号 (4) TAG_Location 機能:タグの位置を指定する。 記述:"TAG_Location loc" loc: タグの位置 (5) AllocDescLen 機能:割付け記述子欄のサイズを指定する。 記述:"AllocDescLen len" len: 割付け記述子欄のサイズ このディレクティブに続いて, 割付け記述子欄に記録するデータを 直接指定する。1バイトを2桁の16進数で表わし, 各バイトの定義毎 に','を記録する。(最後のバイトの定義の後も','を省かない。) (6) ENDB 定義セクションの終了を指定する。
(1) EXTENT エクステントブロックの定義セクションの開始を指定する。 (2) Len 機能: 続いて定義するデータのサイズを指定する。 記述:"Len daatalen" datalen: 続いて定義するデータのサイズ このディレクティブに続いて, エクステントに記録するデータを 直接指定する。1バイトを2桁の16進数で表わし, 各バイトの定義毎 に','を記録する。(最後のバイトの定義の後も','を省かない。) (3) ENDB