Provided by: manpages-ja_0.5.0.0.20161015+dfsg-1_all 

名前
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)
この文書について
この man ページは Linux man-pages プロジェクトのリリース 3.79 の一部 である。プロジェクトの説明とバグ報告
に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。
Linux 1995-01-15 LP(4)