Provided by: manpages-ja_0.5.0.0.20221215+dfsg-1_all bug

名前

       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/ に書かれている。

Linux                                               2020-08-13                                             LP(4)