LP
Section: Linux Programmer's Manual (4)
Updated: 1995-01-15
Index
JM Home Page
roff page
名前
lp - ラインプリンターデバイス
書式
#include <
linux/lp.h
>
設定
lp
[0-2] はパラレルプリンターのためのキャラクタデバイスでメジャー ナンバー 6 マイナーナンバー 0-2 を持つ。マイナーナンバーは、ベース アドレス 0x03bc, 0x0378, 0x0278 のそれぞれのプリンターポートに対応する 通常、このデバイスファイルはモード 220 オーナー root グループ lp となっ ている。プリンターポートはポーリング(polling)または割り込み (interrupts) のどちらを用いても利用できる。割り込みの利用は、高負荷が 予想される時、例えばレーザープリンターをプリンタポートに接続する場合な どに推奨される。普通のドットマトリクスプリンターでは、ポーリングの利用 で通常は十分である。デフォルトではポーリングを利用する。
説明
次の
ioctl
(2) コールがサポートされている。
int ioctl(int
fd
, LPTIME, int
arg
)
プリンターのバッファ( buffer ) がいっぱいになった時、ドライバがプリンター を再チェックするまでに休止する時間を
arg
とする。高速なプリンター の時はこれを減らし、遅いプリンターの時には増やす。単位は1秒の100分の1 で、デフォルトの2は0.02秒にあたる。ポーリングドライバ( polling driver )のみに影響する。
int ioctl(int
fd
, LPCHAR, int
arg
)
ポーリングドライバがプリンターの文字受取り準備ができるのを待 つビジーウエイト(busy-wait)の回数の最大値を
arg
とする。 もし印刷が遅すぎる時はこれを増やし、システムが遅くなりすぎる時には 減らす。デフォルトは 1000 である。ポーリングドライバのみに影響する。
int ioctl(int
fd
, LPABORT, int
arg
)
もし、
arg
が 0 なら、プリンタードライバはエラーについて再試行 を行う。それ以外の場合は中止する。デフォルトは 0 である。
int ioctl(int
fd
, LPABORTOPEN, int
arg
)
もし、
arg
が 0 なら
open
(2) の結果がエラーの場合、動作が中止される。それ以外ならエラーは無 視される。デフォルトではエラーは無視される。
int ioctl(int
fd
, LPCAREFUL, int
arg
)
arg
が0のときには、すべての書き出しの時に、紙切れ、オフライン、エ ラーのシグナルが偽(false)であることが必要とされるが、0 以外ならこれ らのシグナルは無視される。デフォルトでもこれらのシグナルは無視される。
int ioctl(int
fd
, LPWAIT, int
arg
)
プリンターが送られた文字を受け取るのを待つため、ドライバが文字を送っ てからストローブ(strobe)するまでの待ちの繰り返しの回数と、ストローブ を再びオフにするまでの待ちの繰り返しの回数を
arg
に設定 する。仕様によればこの時間は 0.5 マイクロ秒とするべきだが、経験によれば このコードによって生じる遅れで十分である。そのため、デフォルトでは 0 で ある。これは、ポーリングと割り込みドライバの両方で使われる。
int ioctl(int
fd
, LPSETIRQ, int
arg
)
この
ioctl
(2) を使うには、スーパーユーザの権限が必要である。新しいIRQを示す
int
を引数としてとる。また、副作用としてプリンターはリセットされる。
arg
が0の時またはデフォルトの動作では、ポーリングドライバーが使わ れる。
int ioctl(int
fd
, LPGETIRQ, int *
arg
)
現在使われているIRQを
arg
にいれる。
int ioctl(int
fd
, LPGETSTATUS, int *
arg
)
ステータスポートの値を
arg
に収める。各ビットには次のような意味が ある:
LP_PBUSY
ビジー信号の反転、ハイがアクティブ
LP_PACK
アクノリッジ信号、ローがアクティブ
LP_POUTPA
紙切れ信号、ハイがアクティブ
LP_PSELECD
選択信号、ハイがアクティブ
LP_PERRORP
エラー信号、ローがアクティブ
信号の意味については各自のプリンターのマニュアルを参照のこと。プリンター によっては記載のないビットもセットされるかもしれないので、注意のこと。
int ioctl(int
fd
, LPRESET)
プリンターをリセットする。引数はとらない。
ファイル
/dev/lp*
関連項目
chmod
(1),
chown
(1),
mknod
(1),
lpcntl
(8),
tunelp
(8)
翻訳者注
カーネル 2.1.x ではパラレルポートまわりが大幅に書き直されています。 したがって、カーネル 2.1.x のパラレルポートドライバには、 このマニュアルの内容はそのまま適用できません。
Index
名前
書式
設定
説明
ファイル
関連項目
翻訳者注
This document was created by
man2html
, using the manual pages.
Time: 03:26:47 GMT, April 25, 2010