ASC(4) FreeBSD/i386 カーネルインタフェースマニュアル ASC(4)
名称
asc − GI1904 ベースのハンドスキャナ用デバイスドライバ |
書式
device asc0 at isa? port "IO_ASC1" tty drq 3 irq 10 |
解説 |
キャラクタ型デバイスドライバ asc は、現在のところ、 GI1904 ベースのハンド スキャナ (例えば Trust Amiscan Grey など) を扱います。このデバイスドライ バは、DMA と割り込みを使用します。50 ラインまでのスキャン入力データをドラ イバ中でバッファリングします。 このデバイスは、4 つの異なる解像度 (100, 200, 300, 400 ドット/インチ) で 動作させることができます。最上位ビットが左側に来る単純なビットマップを生 成します。このドライバは、別途、単純なポータブルビットマップファイル形式 pbm(5) を生成させることもできます。これにより、ほとんどのグラフィックパッ ケージで、このスキャン結果を容易に処理することが出来ます。 出力ビットマップの幅は、解像度の値により決まる固定の値です。しかし、 pbm(5) モードの場合、ビットマップの高さを指定する必要があります。これは、 ドライバがいつ「ファイルの終端」に達するかを知っておく必要があるからで す。デフォルトでは、正方形のイメージを生成します。つまり、幅と高さが等し いとされます。この機能により、 cat(1) を用いてスキャナの出力を直接 pbm(5) ファイルにコピーすることができます。このドライバを raw モードで使用する場 合、 dd(1) コマンドを使用することにより、この効果と似た効果を得ることもで きます。 |
IOCTL
asc に適用可能な ioctl(2) コマンドは次のとおりです。 sasc(1) により、ユー ザレベルでこれらのコマンドを使用することができます。 |
ASC_GRES
(int) 現在の解像度を、ドット/インチ (dpi) 単位で返します。 ASC_GWIDTH ASC_SHEIGHT ASC_GHEIGHT ASC_SBLEN ASC_GBLEN ASC_SBTIME ASC_GBTIME ASC_SBTIME を除き、パラメータを変更する ioctl() リクエストのすべては、現 在進行中のスキャン処理に影響しません。ユーザはデバイスをクローズし、再び オープンして、新しい設定が効力をあらわすようにする必要があります。結局の ところ、デバイスのオープンクローズにより、パラメータの設定がリセットされ ることは ありません。 同様に、値を読み込むリクエストは、現在進行中のスキャン処理で用いられてい る値を返しません。スキャン処理中に必要な値は、スキャン開始時に保存され、 ioctl() リクエストではアクセスできないようになっています。 しかし、 ASC_SBTIME の値は、現在進行中のスキャン処理に即座に影響を及ぼし ます。これにより、例えば、ユーザがスキャンを開始するまではタイムアウトに 大きな値を設定し、開始後は小さな値を設定することで、ユーザのスキャン中止 に即座に反応するようにできます。 pbm(5) と raw モードの選択は、マイナ番号により行なわれます。 ioctl() リク エストでは行なえません。raw モードでは、指定されたビットマップの高さは効 果をあらわしません。 関連ファイル |
/dev/asc0
raw 出力用のデバイスノード。 関連項目 |
sasc(1), pbm(5) |
バグ
ioctl のサポートがまだ動作していません。 |
作者
asc ドライバは、 Luigi Rizzo が書きました。 |
歴史
asc ドライバが最初に現れたのは FreeBSD 2.1 です。 FreeBSD January 19, 1995 FreeBSD |