unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (HP-UX-11.11)
Page:
Section:
Apropos / Subsearch:
optional field



 lp(7)								       lp(7)
			       Series 800 Only



 NAME
      lp - line printer

 SYNOPSIS
      #include <&lt&lt&lt;sys/lprio.h>&gt&gt&gt;

    Remarks:
      This manual entry applies only to a certain group of printers.  For
      Series 800 systems, it applies to printers controlled 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 Administrator 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 interpretation 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 discussed 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 determined when the printer is opened and recognized by the
      system the first time.  If the printer is not recognized, 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



 Hewlett-Packard Company	    - 1 -   HP-UX Release 11i: November 2000






 lp(7)								       lp(7)
			       Series 800 Only



	      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 assuming a top-of-form
      condition.

      The ioctl requests have the following form:

	   #include <&lt&lt&lt;sys/lprio.h>&gt&gt&gt;

	   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.

	   LPRSET      Set the current printer status information from the
		       structure to which arg points.

      The lprio structure used in the LPRGET and LPRSET requests is defined
      in <sys/lprio.h>, and includes the following members:

	   short int  ind;	 /* indent */
	   short int  col;	 /* columns per page */
	   short int  line;	 /* lines per page */
	   short int  bksp;	 /* backspace handling flag */
	   short int  open_ej;	 /* pages to eject on open */
	   short int  close_ej;	 /* pages to eject on close */



 Hewlett-Packard Company	    - 2 -   HP-UX Release 11i: November 2000






 lp(7)								       lp(7)
			       Series 800 Only



	   short int  raw_mode;	 /* raw mode flag */

      These are remembered across opens, so the indent, page width, and page
      length can be set with an external program.  If the col field is set
      to zero, the defaults are restored at the next open.

      If the backspace handling flag is 0, a character printer is assumed
      and backspaces are passed through the driver unchanged.  If the flag
      is a 1, a line printer is assumed, and sufficient print operations are
      generated to generate the appropriate overstruck characters.

      If the raw mode flag is 0, data sent to the printer is formatted
      according to indent, columns per page, lines per page, backspace
      handling, and pages to eject on open and close.

      If the raw mode flag is 1, data sent to the printer is not formatted.

      If the raw mode flag is changed from 1 to 0 (raw mode is turned off)
      and the format settings (indent, columns per page, etc.) have not been
      modified, the data is formatted according to the prior format
      settings.

 AUTHOR
      lp was developed by HP and AT&T.

 FILES
      /dev/lp		  default or standard printer used by some HP-UX
			  commands;
      /dev/[r]lp*	  special files for printers

 SEE ALSO
      lp(1), slp(1), ioctl(2), cent(7), intro(7).






















 Hewlett-Packard Company	    - 3 -   HP-UX Release 11i: November 2000