LP(4) — NEWS-OS Programmer’s Manual
名称
lp − ラインプリンタ
形式
device lp0 at iop0 priority 104
device lp0 at hb0 priority 104
device lp0 at ap0 priority 104
解説
lp は、標準セントロニクスインターフェースに対応した プリンタへのインターフェースです。 NWS-3100/NWS-5000 シリーズでは、入力もサポートしています。 NWS-3100/NWS-5000 シリーズの場合、デバイスの入出力は read/write システム コールを発行した時点で切り替わります。 入力時には、指定したバイト数が読み出されるまで、 read システムコールから戻りません。
NWS-3100/NWS-5000 シリーズの出力時のハンドシェークには、以下の二つのモードがあります。
標準出力モード
高速出力モード(NWP-549 用)
デフォルトでは、標準出力モードで動作します。 エスケープシーケンスやデフォルトのページ幅等の設定は、 接続されているプリンタの仕様によって決まります。
ioctl システムコール
LPIOCSTATUS
プリンタのステータス情報を問い合わせます。
プリンタがレディ状態であれば 1 が、 レディ状態でなければ 0 が status に代入されます。 NWS-3100/NWS-5000 シリーズの場合
#include <sys/ioctl.h>
#include <newsapbus/printer.h>
int status;
ioctl(fd, LPIOCSTATUS, &status);
NWS-3100/NWS-5000 シリーズ以外の場合
#include <sys/ioctl.h>
#include <newsiop/printer.h>
int status;
ioctl(fd, LPIOCSTATUS, &status);
LPIOCFLUSH
プリンタ用のバッファの中のデータを捨てます。 NWS-3100/NWS-5000 シリーズの場合
#include <sys/ioctl.h>
#include <newsapbus/printer.h>
ioctl(fd, LPIOCFLUSH, 0);
NWS-3100/NWS-5000 シリーズ以外の場合
#include <sys/ioctl.h>
#include <newsiop/printer.h>
ioctl(fd, LPIOCFLUSH, 0);
LPIOCSETMODE
NWS-3100/NWS-5000 シリーズの出力時のハンドシェークのモードを切り替えます。
標準出力モードLPSLOWMODE(0) (デフォルト)
高速出力モードLPFASTMODE(1)
#include <sys/ioctl.h>
#include <newsapbus/printer.h>
int mode;
mode = LPFASTMODE;
ioctl(fd, LPIOCSETMODE, &mode);
LPIOCGETMODE
NWS-3100/NWS-5000 シリーズの出力時のハンドシェークのモードを問い合わせます。
#include <sys/ioctl.h>
#include <newsapbus/printer.h>
int mode;
ioctl(fd, LPIOCGETMODE, &mode);
注意事項
競合する read/write システムコールを発行してはいけません。
関連ファイル
/dev/lp0
関連事項
NEWS-OSRelease 4.2.1R