unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (OpenBSD-5.7)
Page:
Section:
Apropos / Subsearch:
optional field

PRINTCAP(5)                 BSD File Formats Manual                PRINTCAP(5)

NAME
     printcap -- printer capability database

SYNOPSIS
     printcap

DESCRIPTION
     The printcap file is a simplified version of the termcap(5) database used
     to describe line printers.  The spooling system accesses the printcap
     file every time it is used, allowing dynamic addition and deletion of
     printers.  Each entry in the database is used to describe one printer.
     This database may not be substituted for, as is possible for termcap(5),
     because it may allow accounting to be bypassed.

     The default printer is normally ``lp'', though the environment variable
     PRINTER may be used to override this.  Each spooling utility supports an
     option, -Pprinter, to allow explicit naming of a destination printer.

     Refer to the 4.3 BSD Line Printer Spooler Manual for a complete discus-
     sion on how to set up the database for a given printer.

CAPABILITIES
     Refer to termcap(5) for a description of the file layout.

     Name    Type    Default              Description
     af      str     NULL                 name of accounting file
     br      num     none                 if lp is a tty, set baud rate
                                                         (ioctl(2) call)
     cf      str     NULL                 cifplot data filter
     df      str     NULL                 tex data filter (DVI format)
     ff      str     '\f'                 string to send for a form feed
     fo      bool    false                print a form feed when device is
                                                         opened
     gf      str     NULL                 graph data filter (plot(3) format)
     hl      bool    false                print the burst header page last
     ic      bool    false                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              local printer device, or port@host
                                                         for remote
     mc      num     0                    maximum number of copies allowed;
                                                         0=unlimited
     ms      str     NULL                 if lp is a tty, a comma-separated,
                                                         stty(1)-like list
                                                         describing the tty
                                                         modes
     mx      num     0                    max file size (in BUFSIZ blocks);
                                                         0=unlimited
     nd      str     NULL                 next directory for queues list
                                                         (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 group members
                                                         can access
     rm      str     NULL                 machine name for remote printer
     rp      str     ``lp''               remote printer name argument
     rs      bool    false                remote users must have a local
                                                         account
     rw      bool    false                open printer device for reading and
                                                         writing
     sb      bool    false                short banner (one line only)
     sc      bool    false                suppress multiple copies
     sd      str     /var/spool/output    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

     If the local line printer driver supports indentation, the daemon must
     understand how to invoke it.

FILTERS
     If a printer is specified via lp (either local or remote), the lpd(8)
     daemon creates a pipeline of ``filters'' to process files for various
     printer types.  The pipeline is not set up for remote printers specified
     via rm unless the local host is the same as the remote printer host
     given.  The filters selected depend on the flags passed to lpr(1).  The
     pipeline set up is:

           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

     The if filter is invoked with arguments:

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

     The -c flag is passed only if the -l flag (pass control characters liter-
     ally) is specified to lpr(1).  width and length specify the page width
     and length (from pw and pl, respectively) in characters.  The -n and -h
     parameters specify the login name and host name of the owner of the job,
     respectively.  The acct-file function is passed from the af printcap
     entry.

     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.

     All other filters are called as:

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

     where width and length are represented in pixels, specified by the px and
     py entries, respectively.  All filters take stdin as the file, stdout as
     the printer, may log either to stderr or using syslog(3), and must not
     ignore SIGINT.

LOGGING
     Error messages generated by the line printer programs themselves are
     logged by syslog(3) using the LPR facility.  Messages printed on stderr
     by the filters are sent to the corresponding lf file.  The filters may,
     of course, use syslog(3) themselves.

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

SEE ALSO
     lpq(1), lpr(1), lprm(1), termcap(5), lpc(8), lpd(8), pac(8)

     4.3 BSD Line Printer Spooler Manual.

HISTORY
     The printcap file format appeared in 4.2BSD.

BSD                             March 30, 2017                             BSD