Home

printcap(5) - ja

PRINTCAP(5)File Formats ManualPRINTCAP(5)

名前

printcapプリンタ ケイパビリティ データベース

書式

printcap

説明

printcaptermcap(5) データベースを簡単にしたものであり、ラインプリンタを記述するのに使われる。 スプーリングシステムは、使用されるたびに printcap ファイルにアクセスし、プリンタの動的な追加と削除を可能にしている。 データベースにおける各エントリは、1 つのプリンタを記述するのに使われる。 このデータベースは書き込み可能にしておいてはならない( termcap データベースは普通書き込み可能になっている)。 なぜなら、それによってアカウンティング(accounting)をすり抜けることが 可能になってしまうからである。

通常、デフォルトプリンタは である。ただし、環境変数 PRINTER が設定されていれば、そちらが優先される。 各スプーリングユーティリティは、目的のプリンタを明示的に指定できるよう、 オプション -Pprinter をサポートしている。

ある特定のプリンタに対するこのデータベースの設定の詳細は 4.3 BSD Line Printer Spooler Manual を参照せよ。

ケイパビリティ

ファイルレイアウトの説明については termcap(5) を参照せよ。

TypeDescription
afstrアカウントファイル名
brnumnonelp が tty の場合, そのボーレートを設定する (ioctl(2) コール)
cfstr
dfstr (DVI フォーマット) 用フィルタ
fcnum0lp が tty の場合, フラグビットをクリアーする (sgtty.h)
ffstr\f改ページ(form feed) のために送信する文字列
foboolfalseデバイスオープン時に改ページ(form feed)を印刷する
fsnum0`fc' と同様だが、こちらはビットをセットする
gfstrグラフデータ用フィルタ (plot(3) フォーマット )
hlboolfalse最後にバーストヘッダーページを印刷する
icboolfalseドライバはインデント付き印刷のために (非標準の) ioctl をサポートする
ifstrアカウントのためのテキストフィルタ名
lfstr/dev/consoleエラーログファイル名
lostrlockロックファイル名
lpstr/dev/lp出力に対してオープンするデバイス名
mxnum1000最大ファイルサイズ ( BUFSIZ ブロックの数で指定), 0 = 制限なし
ndstrキューリストのための次のディレクトリ (未実装)
nfstr
ofstr出力フィルタプログラム名
pcnum2001 フィートもしくは 1 ページあたりの価格(1/100 セント単位)
plnum66ページ長 (行数)
pwnum132ページ幅 (文字数)
pxnum0ピクセル単位でのページ幅 (水平方向)
pynum0ピクセル単位でのページ長 (垂直方向)
rfstr FORTRAN スタイルのテキストファイルを印刷するためのフィルタ
rgstr制限グループ。このグループのメンバーのみアクセスが許される
rmstrリモートプリンタのためのマシン名
rpstr``lp''リモートプリンタ名引数
rsboolfalseローカルにアカウントをもったリモートユーザに限定する
rwboolfalse読み書きのためにプリンタデバイスをオープンする
sbboolfalseショートバナー(short banner) (1 行のみ)
scboolfalse複数コピーを抑制する
sdstr/var/spool/lpdスプールディレクトリ
sfboolfalse改ページ(form feed)を抑制する
shboolfalseバーストページヘッダーの印刷を抑制する
ststrstatusステータスファイル名
tfstr
trstrキューが空の場合に印刷するための後書き文字列(trailer string)
vfstrラスタイメージ(raster image)用フィルタ

ローカルのラインプリンタドライバが字下げをサポートしているならば、 デーモンはその方法を理解できなければならない。

フィルタ

lpd(8) デーモンは、さまざまなプリンタのタイプに応じてファイルを処理するために、 (フィルタ) のパイプラインを構築している。 選択されるフィルタは、 lpr(1) へ渡されるフラグに依存している。 パイプラインの構築は、次のようになる :

p	pr | if	通常テキスト + pr(1)none	if	通常テキストc	cf	cifplotd	df	DVI (tex)g	gf	plot(3)n	nf	ditrofff	rf	Fortrant	tf	troffv	vf	ラスタイメージ(raster image)

フィルタは、次の引数とともに呼び出される:

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

-c フラグは、 lpr-l フラグ(制御文字を文字としてそのまま通す)が指定してある時に限って渡される。 widthlength は、ページの幅と長さ(それぞれ pwpl から得られる)を文字数で指定する。 -n-h はそれぞれ、ジョブ所有者のログイン名とホスト名を指定する。 acct-file は、 printcapaf エントリから渡される。

if が指定されていない場合は、 代わりに of が使用される。これらの間には、 if がそれぞれのジョブに対して毎回オープンされるのに対し、 of は 1 回しかオープンされないという違いがある。 したがって、アカウンティング(accounting)を行なうには if の方が適している。 of には、 widthlength の 2 つのフラグが与えられるだけである。

他のすべてのフィルタは、次のようにして呼び出される:

filter-xwidth-ylength-n login-h host acct-file

ただし、 widthlength はピクセル単位で表され、それぞれ px エントリと py エントリによって指定される。

すべてのフィルタは、そのファイルとして (標準入力)を、プリンタとして (標準出力)をとる。そのログは、 stderr (標準エラー出力)に対して、もしくは syslog(3) を使ってとられる。また、 SIGINT を無視することは許されない。

ロギング(LOGGING)

ラインプリンタプログラム自身 (つまり、 lp* プログラム) によって生成されたエラーメッセージは、 LPR を使うことで syslog(3) によって記録される。 フィルタのうちの 1 つの stderr (標準エラー出力) 上に印刷されたメッセージは、それに対応する lf ファイルへと送られる。 もちろん、フィルタはそれ自身で syslog を使ってもかまわない。

コンソールへ送られるエラーメッセージには、改行(LF)だけではなく、 復帰(CR)と改行(LF)が追加される。

関連項目

termcap(5), lpc(8), lpd(8), pac(8), lpr(1), lpq(1), lprm(1) 4.3 BSD ラインプリンタスプーラーマニュアル.

履歴

printcap ファイルフォーマットは、 4.2BSD で登場した。

May 10, 1991BSD 4.2