tail head cat sleep
QR code linking to this page

manページ  — PCCARD.CONF

名称

pccard.confpccardd(8) 設定ファイル

内容

解説

pccard.conf ファイルは、PC-CARD スロット管理デーモン pccardd(8) 用の設定ファイルです。カードを識別し、 PC-CARD カードにドライバ (ドライバ用リソースも含む) を 対応させることが出来る情報を提供します。

設定ファイル内には四つの基本的な要素があります。 オプションとして他のセクションに先立って リソースプール があり、その後 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 を掛けたものになります。 名前にスペースを含める必要があるならば、 ダブルクォートで括っておくとよいでしょう。 ハッシュ文字 (#) は、その行の残りをコメントにします。

リソースプール

この (オプションである) セクションは、ISA バスのメモリアドレス空間や I/O ポート、割込み要求番号 (IRQ) といったシステムリソースのプールを指定します。 このリソースプールは、それぞれのドライバの記述中で指定された要求に応じて、 動的にアドレス空間や割り込み番号を割り当てるのに使われます。

リソースに関する構文は以下の通りです。

    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 中の製造者とカードバージョンの文字列を使用して、出力文字列を生成します。

ワイルドカードエントリ

カード識別子として、次の 2 個のワイルドカードエントリを 汎用カードに使用可能です:

    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 down

card "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 ユーザの設定ファイル。

関連項目

pccardd(8)

PCCARD.CONF (5) November 2, 1994

tail head cat sleep
QR code linking to this page


このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.

C isn't that hard: void (*(*f[])())() defines f as an array of unspecified size, of pointers to functions that return pointers to functions that return void