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(偽)デバイスがオープンされた時に
フォームフィードをプリントします。
fsnum0‘fc’と同様ですが、こちらは
ビットを設定します。
gfstrNULLグラフィックデータフィルタ
(plot(3X)フォーマット)。
hlbool false(偽)ヘッダページを最後に印刷します。
icboolfalse(偽)ドライバはプリントアウトを
インデントするために(非標準)
ioctl をサポートします。
ifstrNULLデフォルトのテキストフィルタ名
lbboolfalse(偽)このプリンタがレーザービーム
プリンタ(NWP-533/537/543)であり、
エラーメッセージの拡張された通知
方法が使用できることを示します。
lfstr‘/dev/console’エラーロギングファイル名。
listrNULLレーザービームプリンタの
コンフィギュレーションファイル名。
lostr‘lock’ロックファイルの名称。
lpstr‘/dev/lp’出力のためにオープンするデバイス名。
mxnum1000BUFSIZ ブロック単位での最大
ファイルサイズ、0 = 制限無し。
ndstrNULLキューのリストに関する次の
ディレクトリ
(インプリメントされていない)。
nfstrNULLditroff データフィルタ
(デバイス独立 troff)。
ofstrNULL複数のファイルを処理する出力
フィルタ名。
(課金情報収集には適さない。)
pcnum200フィートあるいはページ当りの価格
(1/100セント単位)。
plnum66ページ長 (行単位)。
pwnum132ページ幅 (文字単位)。
pxnum0ピクセル単位のページ幅 (水平方向)。
pynum0ピクセル単位のページ長 (垂直方向)。
rfstrNULLFORTRAN スタイルのテキストファイル
をプリントするためのフィルタ。
rgstrNULL制限されるグループ。グループの
メンバのみにアクセスが認められます。
rmstrNULLリモートプリンタに接続している
マシン名。
rpstr‘lp’リモートプリンタ名の引数。
rsboolfalse(偽)リモートユーザをローカルアカウント
を備えた者だけに制限します。
rwboolfalse(偽)読み取りおよび書き込みのために
プリンタデバイスをオープンします。
sbboolfalse(偽)短いバナー(1行のみ)
scboolfalse(偽)複数のコピーを抑制します。
sdstr‘/usr/spool/lpd’スプールディレクトリ。
sfboolfalse(偽)フォームフィードを抑制します。
shboolfalse(偽)ヘッダページの印刷を抑制します。
ststr‘status’ステータスファイル名。
tfstrNULLtroff データフィルタ (cat 写植機)。
trstrNULLキューが空である時にプリントする
トレーラ文字列。
vfstrNULLラスタイメージフィルタ。
xcnum0lp が tty である場合に、ローカル
モードビットをクリアします
(tty(4) 参照)。
xsnum0‘xc’と同様ですが、こちらはビット
を設定します。
xfstrNULLイメージデータ出力フィルタ
S[a]strnullユーザ定義可能な出力フィルタ
ローカルのラインプリンタドライバがインデント(字下げ)操作を サポートする場合には、そのデーモンは、その機能を起動する方法 を知っていなければなりません。
関連フィルタ
lpd(8) デーモンは、さまざまなプリンタタイプのために、ファイルを処理する filters (フィルタ)のパイプラインを作成します。選択されるフィルタは、 lpr(1) に送られるフラグによって異なります。 セットアップされるパイプラインは次の通りです。
なしifレギュラーテキスト
−ccfcifplot
−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), termcap(5), lpc(8), lpd(8), pac(8), lbp_filters(8)
4.3BSD Line Printer Spooler Manual
NEWS-OSRelease 4.1C