printcap - 打印机相容性数据库

总览 SYNOPSIS

printcap

描述 DESCRIPTION

Printcap termcap(5) 的簡單版, 用來描述 line printers. 當用到 spool 系統時, 一定會去參考 printcap 這個檔. 允許動態地加入及刪除印表機. 在這資料庫中的每一段敘述代表一台印表機. This data base may not be substituted for, as is possible for termcap, because it may allow accounting to be bypassed.

預設的印表機是 lp, 雖然環境變數 PRINTER 可能優於(override)此. 每一個用到 spool 的軟體都支援 -p 的選項, 用以選擇印表機. 如果想知道如何為一台印表機設定資料的討論, 請參照 4.3 BSD Line Printer Spooler Manual.

相容性 CAPABILITIES

根據 termcap(5) 對檔案輸出的描述.

     Name       Type      Description
     af         str       NULL                   name of accounting file
     br         num       none                   if lp is a tty, set the baud
                                                 rate (ioctl(2) call)
     cf         str       NULL                   cifplot data filter
     df         str       NULL                   tex data filter (DVI format)
     fc         num       0                      if lp is a tty, clear flag 
                                                 bits (sgtty.h)
     ff         str       `                   string to send for a form
                                                 feed
     fo         bool      false                  print a form feed when 
                                                 device is opened
     fs         num       0                      like `fc' but set bits
     gf         str       NULL                   graph data filter (plot(3) 
                                                 format)
     hl         bool      false                  print the burst header page
                                                 last
     ic         bool      false                  driver supports(non standard)
                                                 ioctl to indent printout
     if         str       NULL                   name of text filter which 
                                                 does accounting
     lf         str       /dev/console           error logging file name
     lo         str       lock                   name of lock file
     lp         str       /dev/lp                device name to open for 
                                                 output
     mx         num       1000                   maximum file size (in BUFSIZ
                                                 blocks), zero = unlimited
     nd         str       NULL                   next directory for list of
                                                 queues (unimplemented)
     nf         str       NULL                   ditroff data filter (device
                                                 independent troff)
     of         str       NULL                   name of output filtering
                                                 program
     pc         num       200                    price per foot or page in
                                                 hundredths of cents
     pl         num       66                     page length (in lines)
     pw         num       132                    page width (in characters)
     px         num       0                      page width in pixels
                                                 (horizontal)
     py         num       0                      page length in pixels 
                                                 (vertical)
     rf         str       NULL                   filter for printing FORTRAN
                                                 style text files
     rg         str       NULL                   restricted group. Only
                                              members of group allowed access
     rm         str       NULL                   machine name for remote
                                                 printer
     rp         str       ``lp''                 remote printer name argument
     rs         bool      false                  restrict remote users to
                                                 those with local accounts
     rw         bool      false                  open the printer device for
                                                 reading and writing
     sb         bool      false                  short banner (one line only)
     sc         bool      false                  suppress multiple copies
     sd         str       /var/spool/lpd         spool directory
     sf         bool      false                  suppress form feeds
     sh         bool      false                  suppress printing of burst
                                                 page header
     st         str       status                 status file name
     tf         str       NULL                   troff data filter (cat
                                                 phototypesetter)
     tr         str       NULL                   trailer string to print when
                                                 queue empties
     vf         str       NULL                   raster image filter

如果本地端印表機(local line printer) driver 支援 indentation 的話, daemon 將知道如何去用它.

过滤器 FILTERS

lpd(8) 守护进程將創造出一個過濾的管線 (pipeline of filters) 來處理各個不同印表機的檔案. 過濾器將依照旗標來選擇將何者送到 lpr(1) . 管線的設定值有:

           p            pr | if regular text + pr(1)
           none         If         regular text
           c            cf         cifplot
           d            df         DVI (tex)
           g            gf         plot(3)
           n            nf         ditroff
           f            rf         Fortran
           t            tf         troff
           v            vf         raster image

if 過濾器的用法是:
if [-c] -wwidth -llength -iindent -n login -h host acct-file

-c 這個旗標只有在 -l 旗標有列在 lpr 中時才可忽略. width 和 length 定義了 page 的長和寬 (from pw and pl respectively). -n 和 -h 可指定列印工作擁有者的 login name 和 host name. Acct-file 將忽略 printcap 中的描述.

If no if is specified, of is used instead, with the distinction that of is opened only once, while if is opened for every individual job. Thus, if is better suited to performing accounting. The of is only given the width and length flags.

其它過濾器的呼叫用法如下:
filter -xwidth -ylength -n login -h host acct-file

如果要用 pixels 為單位來定長寬的話, 用 px 和 py 這二個變數. 所有的過濾器都經由 stdin 輸入檔案, stdout 輸出到印表機, 用 stderr 或 syslog(3) 來記錄(log), 而且不會忽略 SIGINT.

日志 LOGGING

Error messages generated by the line printer programs themselves (that is, the lp* programs) are logged by syslog(3) using the LPR facility. Messages printed on stderr of one of the filters are sent to the corre- sponding lf file. The filters may, of course, use syslog themselves.

Error messages sent to the console have a carriage return and a line feed appended to them, rather than just a line feed. 

转载于:https://www.cnblogs.com/fanweisheng/p/11097575.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值