LP
Section: Linux Programmer's Manual (4)
Updated:  2020-08-13
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)
 
この文書について
この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は
https://www.kernel.org/doc/man-pages/ に書かれている。
 Index
- 名前
- 
- 書式
- 
- 設定
- 
- 説明
- 
- ファイル
- 
- 関連項目
- 
- この文書について
- 
This document was created by
man2html,
using the manual pages.