総合手引 | セクション 5 | オプション |
設定ファイル内には四つの基本的な要素があります。 オプションとして他のセクションに先立って リソースプール があり、その後 1 つ以上の カード識別子 と デバイス実体 が続きます。 最後の 2 つはどんな順序で現れてもよく、 都合に応じてあちこちへ散在しても構いません。
/etc/pccard.conf ファイルは、デフォルトのリソースプール設定と pccard 識別子データベースを持つ /etc/defaults/pccard.conf からインクルードされます。 ユーザ固有の設定を /etc/pccard.conf で指定して、これらのデフォルトを上書きしたり追加エントリを追加可能です。
それぞれの PC-CARD カードは、製造者やカードのバージョンを規定する 設定タプルを含んでいます。これらは、設定ファイル中でカードの仕様を 特定するのに使われ、それによって、そのカードとインタフェースをとれる ドライバを見つけます。 カードとドライバの間には、多対 1 の対応関係があります。すなわち、 単一のドライバが複数の型のカードにインタフェースをとることがあります。 この助けとして、ドライバの指定とは別に、カードの初期化や (ネットワークカードの場合なら) イーサネットアドレスの取り出し用に パラメータを指定することもできます。
ドライバは一度カードに割り当てられると、そのカードに割り当てられた ままになります。しかし、同じ型のドライバの複数の実体が設定される こともあるため、もし、同じの型のドライバが対応づけられているカードが 2 枚挿し込まれたら、同じ名前で別のドライバ実体が設定される可能性があります。
insert と remove コマンドは、実行可能なシェルコマンド行を指定することができます。 実行されるコマンドは、そのキーワードの後の行の残りです。 行は、バックスラッシュを使って継続することができます。 簡単なマクロ置換によって、現在のカーネルのデバイス名 ( $device) とネットワークカードのイーサネットアドレス ( $ether) をコマンド行へ入れることが可能です。 pccardd(8) は、コマンド行を実行するために system(3) サブルーチンを使います。
pccardd(8) は、syslog を使用して、カードの挿抜をアナウンスします。 logstr コマンドで設定された文字列を使用するか、 これが設定されていない場合には、製造者とカードバージョンの文字列を使用します。
数値は 8 進数、16 進数、10 進数のいずれかの表現をとります。 もし 10 進数に k か K が付いていれば、その値は 1024 を掛けたものになります。 名前にスペースを含める必要があるならば、 ダブルクォートで括っておくとよいでしょう。 ハッシュ文字 (#) は、その行の残りをコメントにします。
リソースに関する構文は以下の通りです。
io start - end ...
memory address size ...
irq irq-number ...
各文では、初期化時にドライバへ割り当てるのに使える、 I/O やメモリや IRQ のブロックを定義します。
デバッグレベルパラメータの文法は次の通りです:
debuglevel level
上の文はどれも複数行にすることができ、 これで各々のリソースをかたまりに分けて定義することができます。
card manufacturer version [ add_info1 [ add_info2 ]]
config index driver interrupt [ flags]
ether offset
reset time
iosize size
memsize size
insert command
remove command
logstr string
第 1 行は必須です。あとの文はオプションであり、 どのような順序で現れても構いません。 config 行は複数存在することもあります。 card のパラメータには、製造者名、カードのバージョン、 そして追加情報 add_info1 と add_info2 があり、 カードの CIS メモリから得た値との一致をみるのに使われます。 amp;"/.*/" のように '/' で文字列を括れば、 これらのパラメータは、拡張正規表現 regex(3) で記述可能です。 各式は、先頭において文字 '^' で評価されます。
config パラメータは、 カードの CIS で得られる範囲からそのカードの設定インデックスを選択し、 この設定で関連づけられたドライバを選択し、 そして (もしあれば) 割り当てられるべき割り込みレベルを選択します。 オプションとしてフラグの集合を割り当てることもできます。 index では、 "auto" または "default" か、カードの CIS から取得可能な範囲を指定します。 "auto" により、CIS から取得される情報と使用中の I/O リソースの状態から、 自動的にリソースを割り当て可能です。
オプションの ether キーワードは、カードの属性メモリ内に ネットワークカードの物理イーサネットアドレスが保持されているときに使われます。 この文のパラメータは、イーサネットアドレスの属性メモリ内での オフセットを指しています。この値は、 $ether マクロを使うことで、insert/remove コマンド内でも使用できます。
オプションの reset キーワードは、カード挿入時のリセット期間を time ミリ秒であると指定します。 デフォルトは 100 ミリ秒です。
iosize と memsize のキーワードは、 I/O ポートや共有メモリブロック等のリソースが CIS タプルに指定されていない カード用に使用します。
insert 及び remove セクションでは、カードが挿入されたり取り外されたりしたときに 実行されるべきシェルコマンドを書くことができます。複数の insert や remove コマンドも書くことができ、その場合列挙された順に実行されます。
logstr コマンドで、カード挿抜時にログされる文字列を、ユーザが指定可能です。 logstr が指定されていない場合、 CIS 中の製造者とカードバージョンの文字列を使用して、出力文字列を生成します。
generic serial
generic fixed_disk
キーワード serial は "Functional ID: Serial port/modem" にマッチし、 fixed_disk は "Fixed disk card" にマッチします。 構文は card identifiers と同じですが、最初の行で "card" の代りに "generic" が使用されます。 マッチしなかったカードがこれらの汎用エントリを使用できるように、これらは、 pccard.conf の最後に置かれます。 エイリアス "function" を "generic" の代りに使用可能です。 これは、歴史的な事情によるものです。
# # サンプル設定ファイル # # パラメータのプール # io 0x280 - 0x2F0 0x300 - 0x360 irq 5 6 8 9 10 15 memory 0xd4000 96k memory 0xc4000 32k # # カードデータベース # card "RPTI LTD." "EP400" # NE2000 clone ether 0x110 config 0x21 "ed0" 5 insert ifconfig $device physical $ether insert ifconfig $device bean remove ifconfig $device downcard "XYZZY" "FAX/1.0" tty config 0x30 "sio1" 11 insert echo start getty remove echo stop getty
/etc/defaults/pccard.conf | |
pccardd(8) の設定ファイル。 | |
/etc/pccard.conf | ユーザの設定ファイル。 |
PCCARD.CONF (5) | November 2, 1994 |
総合手引 | セクション 5 | オプション |
このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.
“ | If it wasn't for C, we'd be using BASI, PASAL and OBOL | ” |