"pra"
"prb"
nowait
モードは無視される。
システム起動時に以下のコマンドで起動される。
kerext prdrv [!優先度] (優先度省略時は 120)
以下の属性データをサポートする。
R | 読み込みのみ可 |
W | 書き込みのみ可 |
RW | 読み込み / 書き込み可 |
/* プリンタ・データ番号 */ typedef enum { DN_PRINIT = -101, DN_PRSTAT = -102, DN_PROUTTMO = -103 } PrntDataNo;
DN_PPINIT :
data: W init;0 以外の書き込みにより、プリンタへの初期化信号を使用 して、ハード的に初期化する。
DN_PRSTAT :
data: W stat;プリンタポートの現在の状態の取り出し。
正常: | ER_OK |
異常: | エラーコード(EC_IO + )ED_PR_POWER 非接続、電源オフED_PR_OFFLINE オフラインED_PR_PAPER 用紙切れED_PR_BUSY ビジー状態 ( 過度状態 ) |
DN_PROUTTMO :
data: UW tmout;プリンタポートの出力タイムアウト(msec)の取り出し/設定。
データ番号: | 0 に固定 W |
データ数: | 書き込みのバイト数 |
EC_IO + ED_PR_POWER | 非接続、電源オフ |
EC_IO + ED_PR_OFFLINE | オフライン |
EC_IO + ED_PR_PAPER | 用紙切れ |
EC_IO + ED_PR_BUSY | ビジー状態(タイムアウト) |
OPEN | 特に何もしない。 |
CLOSE, CLOSEALL | 特に何もしない。 |
ABORT | 処理を無条件に中断して、プリンタを初期化する。 |
READ / WRITE | (上記参照) |
SUSPEND | 処理を中断して終了する。再開はできない。 |
RESUME | 特に何もしない。 |
なし
デバイスドライバ共通仕様を参照のこと。
EC_IO
の詳細エラーコード
#define ED_PR_ABORT 0x00 /* アボート要求 */ #define ED_PR_POWER 0x01 /* 非接続、電源 OFF */ #define ED_PR_OFFLINE 0x02 /* オフライン */ #define ED_PR_PAPER 0x03 /* 用紙切れ */ #define ED_PR_BUSY 0x04 /* ビジー状態(タイムアウト) */
ED_PR_POWER
はプリンタや対象機種によっては正しくない可能性がある。
即ち、オフライン状態が電源オフ状態とみなされたり、
逆に電源オフ状態がオフライン状態とみなされたりすることがある。
パラレルポートの I/O アドレス、および割り込み番号のハードウェア情報は、 ドライバ起動時に、ハードウェアリソースマネージャを使用して取り出す。
基本的に以下の動作タイミングにしたがっている( T は 1 usec で処理)。