日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。
4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.4-RELEASE-K, 13.0-RELEASE-K から 13.3-RELEASE-K, 14.0-RELEASE-K から 14.1-RELEASE-K は、全翻訳済み)
13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。
Table of Contents
CD(4) FreeBSD カーネルインタフェースマニュアル CD(4) 名称 cd -- SCSI CD-ROM ドライバ 書式 device cd 解説 cd ドライバは、SCSI CD-ROM (コンパクトディスク読み込み専用メモリ (Compact Disc-Read Only Memory)) ドライブのサポートを行います。通常のディスクのよ うに見せようとして、cd ドライバは、CD-ROM 全体をカバーする 1 つのパーティ ションで、パーティションテーブルを合成します。disklabel(8) を使用してこの パーティションテーブルを変更することができますが、CD-ROM がアンマウントさ れるまで存続するだけです。一般的に、インタフェースは、ada(4) と da(4) に よって説明されているものと同様です。 SCSI アダプタがブートの間にプローブされるとき、SCSI バスは、デバイスのた めにスキャンされます。CDROM (タイプ 5) か WORM (タイプ 4) タイプのデバイ スと応答して見つかったどのデバイスも cd ドライバに `アタッチ' されます。 FreeBSD 2.1 以前では、最初に見つけられたデバイスは、cd0、次は、cd1 などと してアタッチされます。FreeBSD 2.1 から、何番の cd ユニットデバイスがライ ンに接続するべきかを指定できます。カーネル設定の詳細については、scsi(4) を参照してください。 システムユーティリティ disklabel(8) は、合成されたディスクラベル構造体を 読み込むために使用されます。その構造体は、その情報が必要となる CD-ROM の サイズのための正確な数字を含みます。 カーネルの設定 すべてのリソースが動的に割り付けられるように、システム設定にかかわらず、 いくつもの CD-ROM デバイスがシステムにアタッチされます。 IOCTL SCSI CD-ROM ドライブに適用される次の ioctl(2) 呼び出しは、ヘッダファイル <sys/cdio.h> と <sys/disklabel.h> で定義されています。 CDIOCPLAYTRACKS (struct ioc_play_track) トラックアドレスと長さを前提 として、オーディオ再生を開始します。構造体は、次のよ うに定義されます: struct ioc_play_track { u_char start_track; u_char start_index; u_char end_track; u_char end_index; }; CDIOCPLAYBLOCKS (struct ioc_play_blocks) ブロックアドレスと長さを前 提として、オーディオ再生を開始します。構造体は、次の ように定義されます: struct ioc_play_blocks { int blk; int len; }; CDIOCPLAYMSF (struct ioc_play_msf) `分-秒-フレーム' アドレスと長 さを前提として、オーディオ再生を開始します。構造体 は、次のように定義されます: struct ioc_play_msf { u_char start_m; u_char start_s; u_char start_f; u_char end_m; u_char end_s; u_char end_f; }; CDIOCREADSUBCHANNEL (struct ioc_read_subchannel) この構造体によって指定 された位置のサブチャネルから情報を読み込みます: struct ioc_read_subchannel { u_char address_format; #define CD_LBA_FORMAT 1 #define CD_MSF_FORMAT 2 u_char data_format; #define CD_SUBQ_DATA 0 #define CD_CURRENT_POSITION 1 #define CD_MEDIA_CATALOG 2 #define CD_TRACK_INFO 3 u_char track; int data_len; struct cd_sub_channel_info *data; }; CDIOREADTOCHEADER (struct ioc_toc_header) マウントされた CD-ROM の目次 に関する要約 (サマリ) 情報を返します。情報は、次の構 造体に返されます: struct ioc_toc_header { u_short len; u_char starting_track; u_char ending_track; }; CDIOREADTOCENTRYS (struct ioc_read_toc_entry) 指定された目次エントリか ら情報を返します。(そのとおり、このコマンド名のスペ ルは、間違っています。) 引数の構造体は、次のように定 義されます: struct ioc_read_toc_entry { u_char address_format; u_char starting_track; u_short data_len; struct cd_toc_entry *data; }; 要求されたデータは、data で指される、サイズ data_len の領域に書き込まれます。 CDIOCSETPATCH (struct ioc_patch) 様々なオーディオチャネルを様々な 出力チャネルにアタッチします。引数の構造体は、次のよ うに定義されます: struct ioc_patch { u_char patch[4]; /* 各チャネルに対して 1 つ */ }; CDIOCGETVOL CDIOCSETVOL (struct ioc_vol) 出力チャネルのボリューム設定に関す る情報を取得 (設定) します。引数の構造体は、次のよう に定義されます: struct ioc_vol { u_char vol[4]; /* one for each channel */ }; CDIOCSETMONO すべての出力チャネルをすべてのソースチャネルにパッチ (一時的に接続) します。 CDIOCSETSTEREO 左のソースチャネルを左の出力チャネルに、右のソース チャネルを右の出力チャネルにパッチ (一時的に接続) し ます。 CDIOCSETMUTE ボリューム設定を変更せずに出力をミュート (音を弱め る) します。 CDIOCSETLEFT CDIOCSETRIGHT 両方の出力チャネルを左 (右) のソースチャネルにアタッ チします。 CDIOCSETDEBUG CDIOCCLRDEBUG 適切なデバイスのためのデバッグ機能をオン (オフ) にし ます。 CDIOCPAUSE CDIOCRESUME 読み込みヘッドの位置をリセットしないで、オーディオ再 生を一時停止 (再開) します。 CDIOCRESET ドライブをリセットします。 CDIOCSTART CDIOCSTOP ドライブに CD-ROM の回転を上げる (下げる) ように指示 します。 CDIOCALLOW CDIOCPREVENT ドライブに CD-ROM ディスクの手動のイジェクション (排 出) を許可 (防止) するように指示します。すべてのドラ イブがこの機能をサポートするわけではありません。 CDIOCEJECT CD-ROM をイジェクト (排出) します。 CDIOCCLOSE トライブにドアを閉じてメディアをロードするように指示 します。すべてのドライブがこの機能をサポートするわけ ではありません。 注 cd ドライバによって制御されているドライブで CD-ROM が変更されたとき、メ ディアを変更する行為は、カーネル中に保持されたディスクラベルと情報を無効 にします。不正行為を止めるために、デバイスを参照するオープンファイル記述 子がそれ以上なくなるまで、デバイスへのアクセスは、すべて破棄されます。こ の期間中、新しいオープンの試みは、すべて拒否されます。デバイスを参照する オープンファイル記述子がこれ以上なくなるとき、次の最初のオープンでドライ ブに対する (ディスクラベルを含む) 新しいパラメータの一式をロードします。 cd ドライバのオーディオコードは、SCSI-2 標準のオーディオコマンドのみサ ポートしています。多くの CD-ROM メーカが規格に従っていないために、オー ディオが動作しない多くの CD-ROM ドライブがあります。より一般的な `壊れた' CD-ROM ドライブをサポートする計画がありますが、しかしながら、まだ実行され ていません。 SYSCTL 変数 次の変数は、sysctl(8) 変数と loader(8) 調整変数の両方で利用可能です: kern.cam.cd.retry_count この変数は、cd ドライバが何回 READ か WRITE コマンドを再試行するかを 決定します。これは、プローブ時間の間に使用されるか、または cd ドライ バダンプルーチンのための再試行の数に影響しません。この値は、現在、4 をデフォルトとします。 kern.cam.cd.%d.minimum_cmd_size cd ドライバは、トーク (通信) しているドライブが、6 バイトまたは 10 バ イトの MODE SENSE/MODE SELECT 操作をサポートするかどうか自動的に決定 することを試みます。多くの SCSI ドライブは、6 バイトのコマンドのみを サポートし、ATAPI ドライブは、10 バイトのコマンドのみをサポートしま す。cd ドライバは、通常使用中のプロトコルが、CAM Path Inquiry CCB を 発行することによって 6 バイトのコマンドをサポートするかどうか決定する ことを最初に試みます。次に、必要に応じて 6 バイトまたは 10 バイトのコ マンドをデフォルトとします。その後に、cd ドライバは、それが、SCSI ILLEGAL REQUEST エラーで失敗するまで、(ドライブが、6 バイトのコマンド をサポートするための要求を通信するプロトコルを仮定して) 6 バイトのコ マンドを使用することをデフォルトとします。そして、代わりに動作するか どうかを確かめるためのコマンドの 10 バイトのバージョンを試みます。 ユーザは、ドライブごとの sysctl 変数とローダ調整変数を通してデフォル トを変更することができます。ここで、``%d'' は、問題のドライブのユニッ ト番号です。有効な最小のコマンドサイズは、6 と 10 です。6 を超える任 意の値は、10 に四捨五入され、6 未満の任意の値は、6 に四捨五入されま す。 関連ファイル /dev/cd[0-9][a-h] 生 (raw) のモード CD-ROM デバイス 診断 なし。 関連項目 cam(4), da(4), disklabel(8), cd(9) 歴史 この cd ドライバは、386BSD 0.1 で登場した、Julian Elischer によって書かれ た cd ドライバに基づいています。cd ドライバの CAM バージョンは、Kenneth Merry によって書かれ、FreeBSD 3.0 ではじめて登場しました。 バグ ioctl() への 3 番目の引数に使用される構造体の名前は、不完全に選ばれ、そし て、ioctl() コマンドの名前の中に多くのスペルミスが残っています。 FreeBSD 11.4 April 9, 2014 FreeBSD 11.4