Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ lpd(8) — bsd — Apollo

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

llbd(8)

lpc(8)

lpr(1)

lpq(1)

lprm(1)

syslog(3)

printcap(5)

LPD(8)                               BSD                                LPD(8)



NAME
     lpd - line printer daemon

SYNOPSIS
     /usr/lib/lpd [ -l ] [ port# ]

DESCRIPTION
     lpd is the line printer daemon (spool  area  handler).   It  is  normally
     invoked at boot time from the rc(8) file.  It makes a single pass through
     the printcap(5) file to find out about the existing printers, and  prints
     any files left after a crash. It then uses the system calls listen(2) and
     accept(2) to receive requests to print files in the queue, transfer files
     to  the  spooling area, display the queue, or remove jobs from the queue.
     In each case, it forks a child to handle the request so  the  parent  can
     continue  to  listen for more requests.  The Internet port number used to
     rendezvous   with   other   processes   is   normally    obtained    with
     getservbyname(3) but can be changed with the port# argument.

     Access control is provided by two means. First, all  requests  must  come
     from  one  of  the  machines  listed  in  the  file  /etc/hosts.equiv  or
     /etc/hosts.lpd.  Second, if the  "rs"  capability  is  specified  in  the
     printcap  entry for the printer being accessed, lpr requests will only be
     honored for those users with accounts on the machine with the printer.

     The file named minfree in each spool directory  contains  the  number  of
     disk blocks to leave free so that the line printer queue won't completely
     fill the disk.  The minfree file can be edited with  your  favorite  text
     editor.

     The file named lock in each spool directory is used to  prevent  multiple
     daemons  from  becoming  active  simultaneously, and to store information
     about the daemon process for lpr(1),  lpq(1),  and  lprm(1).   After  the
     daemon  has  successfully  set the lock, it scans the directory for files
     beginning with cf.  Lines in each cf file specify files to be printed  or
     non-printing  actions  to be performed.  Each such line begins with a key
     character to specify what to do with the remainder of the line (see  "KEY
     CHARACTERS", below).

     If lpd can't open a file, it logs  a  message  via  syslog(3)  using  the
     LOG_LPR  facility.   lpd  will  try  up  to  20 times to reopen a file it
     expects to be there, after which it will skip the file to be printed.

     lpd uses flock(2) to provide exclusive access to the  lock  file  and  to
     prevent  multiple  daemons  from  becoming active simultaneously.  If the
     daemon should be killed or die unexpectedly, the lock file  need  not  be
     removed.  The lock file is kept in a readable ASCII form and contains two
     lines.  The first is the process id of the daemon and the second  is  the
     control  filename  of  the current job being printed.  The second line is
     updated to reflect the current status of lpd for the programs lpq(1)  and
     lprm(1).

OPTIONS
     port#     Change the Internet port number used to rendezvous  with  other
               processes  to port#.

     -l        Log valid requests received from the network. This  option  can
               be useful for debugging purposes.

KEY CHARACTERS
     J         Job Name.  A string to be used for the job name  on  the  burst
               page.
     C         Classification.  A string to be  used  for  the  classification
               line on the burst page.

     L         Literal.  The line contains identification information from the
               password file, and causes the banner page to be printed.

     T         Title.  A string to be used as the title for pr(1).

     H         Host Name.  The name of the machine where lpr was invoked.

     P         Person.  The login name of the person who invoked lpr.  This is
               used to verify ownership by lprm.

     M         Send mail to the specified user  when  the  current  print  job
               completes.

     f         Formatted File.  The name of a file to print which  is  already
               formatted.

     l         Like f, but passes control characters and does  not  make  page
               breaks.

     p         The name of a file to print using pr(1) as a filter.

     t         troff File. The file contains troff(1) output  (phototypesetter
               commands).

     n         Ditroff  File.  The  file  contains  device  independent  troff
               output.

     d         DVI File.  The file contains Tex(l)  output  (DVI  format  from
               Stanford).

     g         Graph File.  The file contains data produced by plot(3X).

     c         Cifplot File. The file contains data produced by cifplot.

     v         The file contains a raster image.

     r         The file contains  text  data  with  FORTRAN  carriage  control
               characters.

     1         troff Font R. The name of the font file to use instead  of  the
               default.

     2         troff Font I. The name of the font file to use instead  of  the
               default.

     3         troff Font B. The name of the font file to use instead  of  the
               default.

     4         troff Font S. The name of the font file to use instead  of  the
               default.

     W         Width. Changes the page width (in characters) used by pr(1) and
               the text filters.

     I         Indent.  The number of characters to indent the output  by  (in
               ascii).

     U         Unlink.  The name of  a  file  to  remove  upon  completion  of
               printing.

     N         Filename.  The name of the file which is being  printed,  or  a
               blank  for  the  standard  input  (when  lpr  is  invoked  in a
               pipeline).

FILES
     /etc/printcap                  printer description file
     /usr/spool/lpd                 spool directories
     /usr/spool/lpd/minfree         minimum free space to leave
     /usr/spool/lpd/servername      hostname of the machine to run lpd
     /dev/lp*                       line printer devices
     /dev/printer                   socket for local requests
     /etc/hosts.equiv               lists machine names allowed printer access
     /etc/hosts.lpd                 lists machine names allowed printer access,
                                    but not under same administrative control.

SEE ALSO
     llbd(8), lpc(8), lpr(1), lpq(1), lprm(1), syslog(3), printcap(5)

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026