lp.7 (2010 09)
l
lp(7) lp(7)
(Seires 800 Only)
NAME
lp - line printer
SYNOPSIS
#include <sys/lprio.h>
Remarks
This manual entry applies only to a certain group of printers. For Series 800, it applies to printers con-
trolled by the device driver lpr2. It does not apply to any printers on Series 700 systems.
DESCRIPTION
This section describes capabilities provided by many line printers supported by various versions of the
HP-UX operating system. A line printer is a character special device that may optionally have an
interpretation applied to the data.
If the character special device file has been created with the raw option (see the HP-UX System Adminis-
trator manuals for information about creating device files with the raw option), data is sent to the printer
in raw mode (as, for example, when handling a graphics printing operation). In raw mode, no interpre-
tation is done on the data to be printed, and no page formatting is performed. Data bytes are simply sent
to the printer and printed exactly as received.
If the device file does not contain the raw option, data can still be sent to the printer in raw mode. Raw
mode is set and cleared by the
LPRSET request.
If the line printer device file does not contain the raw option, data is interpreted according to rules dis-
cussed below. The driver understands the concept of a printer page in that it has a page length (in lines),
line length (in characters), and offset from the left margin (in characters). The default line length,
indent, lines per page, open and close page eject, and handling of backspace are set to defaults deter-
mined when the printer is opened and recognized by the system the first time. If the printer is not recog-
nized, the default line length is 132 characters, indent is 4 characters, lines per page is 66, one page is
ejected on close and none on open, and backspace is handled for a character printer.
The following rules describe the interpretation of the data stream:
• A form feed causes a page eject and resets the line counter to zero.
• Multiple consecutive form-feeds are treated as a single form-feed.
• The new-line character is mapped into a carriage-return/line-feed sequence, and if an offset is
specified a number of blanks are inserted after the carriage-return/line-feed sequence.
• A new-line that extends over the end of a page is turned into a form-feed.
• Tab characters are expanded into the appropriate number of blanks (tab stops are assumed to
occur every eight character positions as offset by the current indent value).
• Backspaces are interpreted to yield the appropriate overstrike either for a character printer or a
line printer.
• Lines longer than the line length minus the indent (i.e., 128 characters, using the above defaults)
are truncated.
• Carriage-return characters cause the line to be overstruck.
• When it is opened or closed, a suitable number of page ejects is generated.
Two ioctl (2) requests are available to control the lines per page, characters per line, indent, handling of
backspaces, and number of pages to be ejected at open and close times. At either open or close time, if no
page eject is requested the paper will not be moved. For opens, line and page counting will start assum-
ing a top-of-form condition.
The ioctl requests have the following form:
#include <sys/lprio.h>
int ioctl(int fildes, int request, struct lprio *arg);
The possible values of request are:
LPRGET Get the current printer status information and store in the lprio structure to which
arg points.
HP-UX 11i Version 3: September 2010 − 1 − Hewlett-Packard Company 1