printcap man page on FreeBSD

Man page or keyword search:  
man Server   9747 pages
apropos Keyword Search (all sections)
Output format
FreeBSD 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(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, -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	  Default		 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
     ct		num	  120			 TCP connection timeout in
     df		str	  NULL			 tex data filter (DVI format)
     ff		str	  ‘\f’			 string to send for a form
     fo		bool	  false			 print a form feed when device
						 is opened
     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
						 output, or port@machine to
						 open a TCP socket
     mc		num	  0			 maximum number of copies
						 which can be requested on
						 lpr(1), zero = unlimited
     ms		str	  NULL			 if lp is a tty, a comma-
						 separated, stty(1)-like list
						 describing the tty modes
     mx		num	  0			 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
     rc		bool	  false			 when sending to a remote
						 host, resend copies (see
     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
     sr		str	  NULL			 file name to hold statistics
						 of each datafile as it is
     ss		str	  NULL			 file name to hold statistics
						 of each datafile as it is
     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

     Each two-letter capability has a human-readable alternate name.

     Short form	   Long form
     af		   acct.file
     br		   tty.rate
     cf		   filt.cifplot
     ct		   remote.timeout
     df		   filt.dvi
     du		   daemon.user
     ff		   job.formfeed
     fo		   job.topofform
     gf		   filt.plot
     hl		   banner.last
     if		   filt.input
     lf		   spool.log
     lo		   spool.lock
     lp		   tty.device
     mc		   max.copies
     ms		   tty.mode
     mx		   max.blocks
     nf		   filt.ditroff
     of		   filt.output
     pc		   acct.price
     pl		   page.length
     pw		   page.width
     px		   page.pwidth
     py		   page.plength
     rc		   remote.resend_copies
     rf		   filt.fortran
     rg		   daemon.restrictgrp
     rp		   remote.queue
     rs		   daemon.restricted
     sb		   banner.short
     sc		   job.no_copies
     sd		   spool.dir
     sf		   job.no_formfeed
     sh		   banner.disable
     sr		   stat.recv
     ss		   stat.send
     st		   spool.status
     tf		   filt.troff
     tr		   job.trailer
     vf		   filt.raster

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

     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(1).  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.

     When printing to a remote printer using rm, it is possible to use either
     if or of.	If both are specified, of is ignored.  Both filters behave the
     same except that they are passed different arguments as above.  Specifi‐
     cally, the output filter is terminated and restarted for each file trans‐
     mitted.  This is necessary in order to pass the resulting size to the
     remote lpd(8).

     If the -p flag was passed to lpr(1), pr(1) is not executed locally, but
     is requested of the remote lpd(8).	 Any input filtering via if will
     therefore happen before pr(1) is executed rather than afterwards.

     There are some models of network printers which accept jobs from lpd(8),
     but they ignore the control file for a job and simply print each data
     file as it arrives at the printer.	 One side-effect of this behavior is
     that the printer will ignore any request for multiple copies as given
     with the -# flag on the lpr(1) command.  The rc entry will cause lpd(8)
     to resend each data file for each copy that the user originally
     requested.	 Note that the rc entry should only be specified on hosts
     which send jobs directly to the printer.

     If lp is specified as port@machine (and rm is not in use), print data
     will be sent directly to the given port on the given machine.

     When a print job is transfered to a remote machine (which might be
     another unix box, or may be a network printer), it may be useful to keep
     statistics on each transfer.  The sr and ss options indicate filenames
     that lpd should use to store such statistics.  A statistics line is writ‐
     ten for each datafile of a job as the file is successfully transferred.
     The format of the line is the same for both the sending and receiving
     side of a transfer.

     Statistics on datafiles being received would be used on a print server,
     if you are interested in network performance between a variety of
     machines which are sending jobs to that print server.  The print server
     could collect statistics on the speed of each print job as it arrived on
     the server.

     Statistics on datafiles being sent might be used as a minimal accounting
     record, when you want to know who sent which jobs to a remote printer,
     when they were sent, and how large (in bytes) the files were.  This will
     not give include any idea of how many pages were printed, because there
     is no standard way to get that information back from a remote (network)
     printer in this case.

     Error messages generated by the line printer programs themselves (that
     is, the lpd(8) and related programs) are logged by syslog(3) using the
     LPR facility.  Messages printed on stderr of one of the filters are sent
     to the corresponding lf file.  The filters may, of course, use syslogd(8)

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

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

     4.3 BSD Line Printer Spooler Manual.

     The printcap file format appeared in 4.2BSD.

BSD			       October 11, 2000				   BSD

List of man pages available for FreeBSD

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