printcap man page on 4.4BSD

Man page or keyword search:  
man Server   1065 pages
apropos Keyword Search (all sections)
Output format
4.4BSD logo
[printable version]

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

     printcap — printer capability data base


     The printcap function is a simplified version of the termcap(5) data base
     used to describe line printers.  The spooling system accesses the
     printcap file every time it is used, allowing dynamic addition and dele‐
     tion of printers.	Each entry in the data base is used to describe one
     printer.  This data base may not be substituted for, as is possible for
     termcap, 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, -P printer, 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 setup the database for a given printer.

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

     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	  ‘\f’			 string to send for a form
     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)
     hl		bool	  false			 print the burst header page
     ic		bool	  false			 driver supports (non
						 standard) ioctl to indent
     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
     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
     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
     py		num	  0			 page length in pixels
     rf		str	  NULL			 filter for printing FORTRAN
						 style text files
     rg		str	  NULL			 restricted group. Only
						 members of group allowed
     rm		str	  NULL			 machine name for remote
     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
     tr		str	  NULL			 trailer string to print when
						 queue empties
     vf		str	  NULL			 raster image filter
     xc		num	  0			 if lp is a tty, clear local
						 mode bits (tty(4))
     xs		num	  0			 like `xc' but set bits

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

     The lp entry can specify either a device in the ``/dev'' directory or a
     printer accessible via the network using the syntax:

	   :lp=port @host printcap:

     where host is the network name of the printer and port is the TCP port
     number to use for the network connection.	This works both for printers
     directly connected to the network (and which understand TCP/IP) as well
     as for many terminal servers that support printers via their serial
     and/or parallel ports.

     The lpd(8) daemon creates a pipeline of filters to process files for var‐
     ious printer types.  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.	 The width function 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.

     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.

     In a networked environment with many hosts, it is convenient to use the
     same printcap file on all machines.  This is accomplished by specifying
     the complete set of entries for every printer on all machines, including
     entries for both the rm and lp capabilities.  This is possible because
     the lpd daemon matches the rm printcap entry with the local host name and
     only opens the line printer specified by lp if the names match.  Other‐
     wise the lp entry is ignored and the spooled file is sent on to the
     remote machine for printing.

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

     4.3 BSD Line Printer Spooler Manual.

     The printcap file format appeared in 4.2BSD.

4.2 Berkeley Distribution	 May 10, 1995	     4.2 Berkeley Distribution

List of man pages available for 4.4BSD

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
Vote for polarhome
Free Shell Accounts :: the biggest list on the net