Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ printcap(5) — NEWS-os 4.2.1R

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

lpr(1)

lpq(1)

lprm(1)

a3sjlbp(1)

newslbp(1)

termcap(5)

lpc(8)

lpd(8)

pac(8)

lbp_filters(8)

PRINTCAP(5)  —  NEWS-OS Programmer’s Manual

名称

printcap − プリンタ機能データベース

形式

/etc/printcap

解説

printcap は、 termcap(5) を簡略化したもので、ラインプリンタの記述に使用されます。 スプーリングシステムは、使用されるたびに printcap ファイルにアクセスし、プリンタのダイナミックな追加および削除を可能にします。 データベース内の各エントリは、1 つのプリンタを記述するために使用されます。 printcap は、 termcap と違って他のものと置換できません。 このデータベースを使って、プリンタに関する アカウントをとられないようにもできるからです。

デフォルトのプリンタは通常 lp ですが、環境変数 PRINTER を使用すれば、このデフォルト値を変更することができます。 各スプーリングユーティリティは、 目的のプリンタの明示的な指定を可能にするために、 −Pprinter-name というオプションをサポートします。

特定のプリンタに関するデータベースのセットアップ方法に関する 詳細な説明については、 4.3BSD Line Printer Spooler Manual を参照してください。

諸機能

ファイルレイアウトの説明については、 termcap(5) を参照してください。

名称タイプデフォルト内容説明
afstrNULLアカウントファイル名。
brnumなしlp が tty である場合には、転送
速度 (ioctl call) を設定します。
cfstrNULLCDIF 用データ出力フィルタ。
ctstrNULLプリンタのコードタイプ。lpr(1)
の自動コード変換の際、参照します。
dfstrNULLTeX データフィルタ
(DVI フォーマット)。
efstrNULLLBP-8 エミュレータ用出力フィルタ。
fcnum0lp が tty である場合には、フラグ
ビット (sgtty.h) をクリアします。
ffstr\fフォームフィードのために送信
されるストリング。
foboolfalse (偽)デバイスがオープンされた時に
フォームフィードをプリントします。
fsnum0fc と同様ですが、こちらは
ビットを設定します。
gfstrNULLグラフィックデータフィルタ
(plot(3X) フォーマット)。
hlbool    false (偽)ヘッダページを最後に印刷します。
icboolfalse (偽)ドライバはプリントアウトを
インデントするために (非標準)
ioctl をサポートします。
ifstrNULLデフォルトのテキストフィルタ名
lbboolfalse (偽)このプリンタがレーザービーム
プリンタ (NWP-533/537/543/550/5501/5551)
であり、エラーメッセージの拡張された
通知方法が使用できることを示します。
lfstr/dev/consoleエラーロギングファイル名。
listrNULLレーザービームプリンタの
コンフィギュレーションファイル名。
lostrlockロックファイルの名称。
lpstr/dev/lp出力のためにオープンするデバイス名。
mxnum1000BUFSIZ ブロック単位での最大
ファイルサイズ、0 = 制限無し。
ndstrNULLキューのリストに関する次の
ディレクトリ (インプリメントされていない)。
nfstrNULLditroff データフィルタ
(デバイス独立 troff)。
ofstrNULL複数のファイルを処理する出力
フィルタ名 (課金情報収集には適さない)。
pcnum200フィートあるいはページ当りの価格
(1/100セント単位)。
plnum66ページ長 (行単位)。
pwnum132ページ幅 (文字単位)。
pxnum0ピクセル単位のページ幅 (水平方向)。
pynum0ピクセル単位のページ長 (垂直方向)。
rfstrNULLFORTRAN スタイルのテキストファイルを
プリントするためのフィルタ。
rgstrNULL制限されるグループ。グループの
メンバのみにアクセスが認められます。
rmstrNULLリモートプリンタに接続している
マシン名。
rpstrlpリモートプリンタ名の引数。
rsboolfalse (偽)リモートユーザをローカルアカウントを
備えた者だけに制限します。
rwboolfalse (偽)読み取りおよび書き込みのために
プリンタデバイスをオープンします。
sbboolfalse (偽)短いバナー (1 行のみ)
scboolfalse (偽)複数のコピーを抑制します。
sdstr/usr/spool/lpdスプールディレクトリ。
sfboolfalse (偽)フォームフィードを抑制します。
shboolfalse (偽)ヘッダページの印刷を抑制します。
ststrstatusステータスファイル名。
tfstrNULLtroff データフィルタ (cat 写植機)。
trstrNULLキューが空である時にプリントする
トレーラ文字列。
vfstrNULLラスタイメージフィルタ。
xcnum0lp が tty である場合に、ローカル
モードビットをクリアします
(tty(4) 参照)。
xsnum0xc と同様ですが、こちらはビットを
設定します。
xfstrNULLイメージデータ出力フィルタ
S[a]strnullユーザ定義可能な出力フィルタ

ローカルのラインプリンタドライバがインデント (字下げ) 操作を サポートする場合には、そのデーモンは、その機能を起動する方法 を知っていなければなりません。

関連フィルタ

lpd(8) デーモンは、さまざまなプリンタタイプのために、ファイルを処理する filters (フィルタ) のパイプラインを作成します。選択されるフィルタは、 lpr(1) に送られるフラグによって異なります。 セットアップされるパイプラインは次の通りです。   

なしifレギュラーテキスト
−ccfCDIF
−ddfDVI (tex)
−eefLBP-8 エミュレータ
−frfFortran
−ggfplot(3)
−nnfditroff
−ppr | ifレギュラーテキスト+ pr(1)
−ttftroff
−vvfラスタイメージ

if フィルタは、次の引数によって起動されます。

if [ −c ] [ −bopt1 [ −bopt2 ]] −wwidth −llength −iindent −n login −h host acct-file

−c フラグは、 −l フラグ (正確には、パス制御文字) が lpr に指定されている場合に限って送られます。
−b オプションについては後述します。
width と length は、それぞれページの幅と長さを示し、 それらは pw、pl 変数により指定されます。 −n と −h パラメータは、それぞれ、ジョブのオーナのログイン名とホスト名を指定します。 acct-file は、 af printcap エントリから送られています。

if が指定されていない場合には、代わりに of が使用されます。ただし、 if が個々のジョブごとにオープンされるのに対して、 of は 1度だけしかオープンされません。従って、アカウンティングの実行には if の方が適しています。 of には、 width (幅) と length (長さ) フラグだけが適用されます。

他のすべてのフィルタは次のように呼び出されます。

filter (フィルタ) [ −bopt1 [ −bopt2 ]] −xwidth −ylength −n login −h host acct-file

ここで、 width (幅) と length (長さ) はピクセル単位で表され、それぞれ、 px と py エントリによって指定されます。

−b オプションは、 lpr で指定された −bopt および、 printcap で lb が指定されているプリンタについて lpd が生成する文字列です。
文字  ‘:’ (コロン) で始まる opt は NEWS-OS で予約されており、LBP ライブラリによって解釈されます。

すべてのフィルタは、 stdin をファイル、 stdout をプリンタとみなし、 stderr にログ情報を出力するか syslog(3) を利用します。すべてのフィルタは SIGINT を無視してはいけません。

記録 (ロギング)

ラインプリンタプログラム (つまり lp∗ プログラム) 自体によって生成されるエラーメッセージの記録は、 syslog(3) が LPR 機能を使用して行います。 各フィルタの stderr にプリントされるメッセージは、 対応する lf ファイルに送られます。もちろん、フィルタ自体も syslog を使用することができます。

コンソールに送られるエラーメッセージは、改行文字だけではなく、 復帰文字と改行文字の両方を備えています。

printcap に lb が指定されていて、 NEWS-OS Relese 4.0 で提供されているレーザービームプリンタ用のプリンタフィルタを使用する場合、 エラーメッセージの出力方法は 3 種類に分類されます。
用紙切れ、紙詰まりなどプリンタに対する操作で 回復できるエラーは lpq コマンドで表示されます。
印刷が何らかの理由で打ち切られた場合の理由の説明など、 特定の印刷ジョブに関するエラーは、 lpr コマンドでの指示に応じて印刷を要求したユーザへのメール、 あるいはトレイラページへの印刷によって通知されます。
プリンタの故障や設定の間違いなどのエラーは、対応する lf ファイルに送られます。

関連事項

lpr(1), lpq(1), lprm(1), a3sjlbp(1), newslbp(1), termcap(5), lpc(8), lpd(8), pac(8), lbp_filters(8)
4.3BSD Line Printer Spooler Manual

NEWS-OSRelease 4.2.1R

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026