Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ printcap(5) — NEWS-os 3.3

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

termcap(5)

lpc(8)

lpd(8)

pac(8)

lpr(1)

lpq(1)

lprm(1)

PRINTCAP(5)  —  UNIX 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)を設定します。
cfstrNULLcifplot データフィルタ。
dfstrNULLテキストデータフィルタ (DVI フォーマット)。
fcnum0lp が tty である場合には、フラグビット
(sgtty.h)をクリアします。
ffstr“\f”フォームフィードのために送信されるストリン
グ。
foboolfalse(偽)デバイスがオープンされた時にフォームフィード
をプリントします。
fsnum0‘fc’と同様ですが、こちらはビットを設定し
ます。
gfstrNULLグラフィックデータフィルタ (plot(3X)フォー
マット)。
hlboolfalse(偽)ヘッダページの最後をプリントします。
icboolfalse(偽)ドライバはプリントアウトをインデントするため
に(非標準)ioctl をサポートします。
lfstr“/dev/console”エラーロギングファイル名。
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’と同様ですが、こちらはビットを設定
します。

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

関連フィルタ

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

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

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

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

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

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

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

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

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

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

記録(ロギング)

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

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

関連事項

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

NEWS-OSRelease 3.3

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