/* Void Main's man pages */

{ phpMan } else { main(); }

Command: man perldoc info search(apropos)  


LP(1P)                                              POSIX Programmer's Manual                                             LP(1P)



PROLOG
       This  manual  page is part of the POSIX Programmer's Manual.  The Linux implementation of this interface may differ (con-
       sult the corresponding Linux manual page for details of Linux behavior), or the  interface  may  not  be  implemented  on
       Linux.

NAME
       lp - send files to a printer

SYNOPSIS
       lp [-c][-d dest][-n copies][-msw][-o option]...  [-t title][file...]

DESCRIPTION
       The  lp utility shall copy the input files to an output destination in an unspecified manner. The default output destina-
       tion should be to a hardcopy device, such as a printer or microfilm recorder, that produces non-volatile,  human-readable
       documents. If such a device is not available to the application, or if the system provides no such device, the lp utility
       shall exit with a non-zero exit status.

       The actual writing to the output device may occur some time after the lp utility successfully exits. During  the  portion
       of the writing that corresponds to each input file, the implementation shall guarantee exclusive access to the device.

       The lp utility shall associate a unique request ID with each request.

       Normally,  a  banner page is produced to separate and identify each print job. This page may be suppressed by implementa-
       tion-defined conditions, such as an operator command or one of the -o option values.

OPTIONS
       The lp utility shall conform to the Base Definitions volume of IEEE Std 1003.1-2001, Section 12.2, Utility Syntax  Guide-
       lines.

       The following options shall be supported:

       -c     Exit  only  after  further access to any of the input files is no longer required. The application can then safely
              delete or modify the files without affecting the output operation. Normally, files are not copied, but are  linked
              whenever  possible.  If the -c option is not given, then the user should be careful not to remove any of the files
              before the request has been printed in its entirety. It should also be noted that in the absence of the -c option,
              any  changes  made  to  the named files after the request is made but before it is printed may be reflected in the
              printed output. On some implementations, -c may be on by default.

       -d  dest
              Specify a string that names the destination ( dest). If dest is a printer, the request shall be  printed  only  on
              that specific printer. If dest is a class of printers, the request shall be printed on the first available printer
              that is a member of the class. Under certain conditions (printer unavailability, file  space  limitation,  and  so
              on), requests for specific destinations need not be accepted. Destination names vary between systems.

       If  -d  is  not  specified, and neither the LPDEST nor PRINTER environment variable is set, an unspecified destination is
       used. The -d dest option shall take precedence over LPDEST,  which in turn shall take precedence over  PRINTER.   Results
       are undefined when dest contains a value that is not a valid destination name.

       -m     Send  mail  (see  mailx ) after the files have been printed. By default, no mail is sent upon normal completion of
              the print request.

       -n  copies
              Write copies number of copies of the files, where copies is a positive decimal integer. The methods for  producing
              multiple copies and for arranging the multiple copies when multiple file operands are used are unspecified, except
              that each file shall be output as an integral whole, not interleaved with portions of other files.

       -o  option
              Specify printer-dependent or class-dependent options. Several such options may be collected by specifying  the  -o
              option more than once.

       -s     Suppress messages from lp.

       -t  title
              Write title on the banner page of the output.

       -w     Write a message on the user's terminal after the files have been printed.  If the user is not logged in, then mail
              shall be sent instead.


OPERANDS
       The following operand shall be supported:

       file   A pathname of a file to be output. If no file operands are specified, or if a file operand is  '-',  the  standard
              input  shall  be  used.  If a file operand is used, but the -c option is not specified, the process performing the
              writing to the output device may have user and group permissions that differ from that of the process invoking lp.


STDIN
       The standard input shall be used only if no file operands are specified, or if a file operand is '-'  .   See  the  INPUT
       FILES section.

INPUT FILES
       The input files shall be text files.

ENVIRONMENT VARIABLES
       The following environment variables shall affect the execution of lp:

       LANG   Provide  a  default value for the internationalization variables that are unset or null. (See the Base Definitions
              volume of IEEE Std 1003.1-2001, Section 8.2, Internationalization Variables for the precedence  of  international-
              ization variables used to determine the values of locale categories.)

       LC_ALL If set to a non-empty string value, override the values of all the other internationalization variables.

       LC_CTYPE
              Determine the locale for the interpretation of sequences of bytes of text data as characters (for example, single-
              byte as opposed to multi-byte characters in arguments and input files).

       LC_MESSAGES
              Determine the locale that should be used to affect the format and contents of diagnostic messages written to stan-
              dard error and informative messages written to standard output.

       LC_TIME
              Determine the format and contents of date and time strings displayed in the lp banner page, if any.

       LPDEST Determine  the  destination. If the LPDEST environment variable is not set, the PRINTER environment variable shall
              be used. The -d dest option takes precedence over LPDEST . Results are undefined when  -d  is  not  specified  and
              LPDEST contains a value that is not a valid destination name.

       NLSPATH
              Determine the location of message catalogs for the processing of LC_MESSAGES .

       PRINTER
              Determine  the  output  device  or  destination.  If  the LPDEST and PRINTER environment variables are not set, an
              unspecified output device is used. The -d dest option and the LPDEST environment variable  shall  take  precedence
              over  PRINTER.  Results are undefined when -d is not specified, LPDEST is unset, and PRINTER contains a value that
              is not a valid device or destination name.

       TZ     Determine the timezone used to calculate date and time strings displayed in the lp banner page, if any. If  TZ  is
              unset or null, an unspecified default timezone shall be used.


ASYNCHRONOUS EVENTS
       Default.

STDOUT
       The  lp  utility  shall  write  a request ID to the standard output, unless -s is specified. The format of the message is
       unspecified. The request ID can be used on systems supporting the historical cancel and lpstat utilities.

STDERR
       The standard error shall be used only for diagnostic messages.

OUTPUT FILES
       None.

EXTENDED DESCRIPTION
       None.

EXIT STATUS
       The following exit values shall be returned:

        0     All input files were processed successfully.

       >0     No output device was available, or an error occurred.


CONSEQUENCES OF ERRORS
       Default.

       The following sections are informative.

APPLICATION USAGE
       The pr and fold utilities can be used to achieve reasonable formatting for the implementation's default page size.

       A conforming application can use one of the file operands only with the -c option or if the file is publicly readable and
       guaranteed  to  be  available  at the time of printing. This is because IEEE Std 1003.1-2001 gives the implementation the
       freedom to queue up the request for printing at some later time by a different process that might not be able  to  access
       the file.

EXAMPLES
        1. To print file file:


           lp -c file

        2. To print multiple files with headers:


           pr file1 file2 | lp

RATIONALE
       The  lp  utility was designed to be a basic version of a utility that is already available in many historical implementa-
       tions. The standard developers considered that it should be implementable simply as:


              cat "$@" > /dev/lp

       after appropriate processing of options, if that is how the implementation chose to do it and if exclusive  access  could
       be  granted (so that two users did not write to the device simultaneously).  Although in the future the standard develop-
       ers may add other options to this utility, it should always be able to execute with no options or operands and  send  the
       standard input to an unspecified output device.

       This  volume of IEEE Std 1003.1-2001 makes no representations concerning the format of the printed output, except that it
       must be "human-readable" and "non-volatile". Thus, writing by default to a disk or tape drive or a display terminal would
       not qualify. (Such destinations are not prohibited when -d dest, LPDEST,  or PRINTER are used, however.)

       This  volume  of  IEEE Std 1003.1-2001  is worded such that a "print job" consisting of multiple input files, possibly in
       multiple copies, is guaranteed to print so that any one file is not intermixed with another, but there  is  no  statement
       that all the files or copies have to print out together.

       The  -c option may imply a spooling operation, but this is not required. The utility can be implemented to wait until the
       printer is ready and then wait until it is finished. Because of that, there is no attempt to define a  queuing  mechanism
       (priorities, classes of output, and so on).

       On  some  historical  systems,  the request ID reported on the STDOUT can be used to later cancel or find the status of a
       request using utilities not defined in this volume of IEEE Std 1003.1-2001.

       Although the historical System V lp and BSD lpr utilities have provided similar functionality, they used different  names
       for  the environment variable specifying the destination printer.  Since the name of the utility here is lp, LPDEST (used
       by the System V lp utility) was given precedence over PRINTER (used by the BSD lpr utility). Since environments of  users
       frequently  contain  one or the other environment variable, the lp utility is required to recognize both. If this was not
       done, many applications would send output to unexpected output devices when users moved from system to system.

       Some have commented that lp has far too little functionality to make it worthwhile.  Requests  have  proposed  additional
       options or operands or both that added functionality. The requests included:

        * Wording requiring the output to be "hardcopy"

        * A requirement for multiple printers

        * Options for supporting various page-description languages

       Given  that  a compliant system is not required to even have a printer, placing further restrictions upon the behavior of
       the printer is not useful. Since hardcopy format is so application-dependent, it is  difficult,  if  not  impossible,  to
       select a reasonable subset of functionality that should be required on all compliant systems.

       The term unspecified is used in this section in lieu of implementation-defined as most known implementations would not be
       able to make definitive statements in their conformance documents; the existence and usage of printers is very  dependent
       on how the system administrator configures each individual system.

       Since  the default destination, device type, queuing mechanisms, and acceptable forms of input are all unspecified, usage
       guidelines for what a conforming application can do are as follows:

        * Use the command in a pipeline, or with -c, so that there are no permission  problems  and  the  files  can  be  safely
          deleted or modified.

        * Limit  output to text files of reasonable line lengths and printable characters and include no device-specific format-
          ting information, such as a page description language. The meaning  of  "reasonable"  in  this  context  can  only  be
          answered  as a quality-of-implementation issue, but it should be apparent from historical usage patterns in the indus-
          try and the locale. The pr and fold utilities can be used to achieve reasonable formatting for the default  page  size
          of the implementation.

       Alternatively,  the  application  can arrange its installation in such a way that it requires the system administrator or
       operator to provide the appropriate information on lp options and environment variable values.

       At a minimum, having this utility in this volume of IEEE Std 1003.1-2001 tells the industry that conforming  applications
       require  a  means  to print output and provides at least a command name and LPDEST routing mechanism that can be used for
       discussions between vendors, application writers, and users.  The use of "should" in the DESCRIPTION of lp clearly  shows
       the intent of the standard developers, even if they cannot mandate that all systems (such as laptops) have printers.

       This volume of IEEE Std 1003.1-2001 does not specify what the ownership of the process performing the writing to the out-
       put device may be. If -c is not used, it is unspecified whether the process performing the writing to the  output  device
       has permission to read file if there are any restrictions in place on who may read file until after it is printed.  Also,
       if -c is not used, the results of deleting file before it is printed are unspecified.

FUTURE DIRECTIONS
       None.

SEE ALSO
       mailx

COPYRIGHT
       Portions of this text are reprinted and reproduced in electronic form from IEEE Std 1003.1, 2003  Edition,  Standard  for
       Information  Technology -- Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 6, Copy-
       right (C) 2001-2003 by the Institute of Electrical and Electronics Engineers, Inc and The Open Group. In the event of any
       discrepancy  between this version and the original IEEE and The Open Group Standard, the original IEEE and The Open Group
       Standard  is  the  referee   document.   The   original   Standard   can   be   obtained   online   at   http://www.open-
       group.org/unix/online.html .



IEEE/The Open Group                                           2003                                                        LP(1P)

Valid XHTML 1.0!Valid CSS!