Unix/Linux Go Back    

RedHat 9 (Linux i386) - man page for lp (redhat section 4)

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)

LP(4)					  Special files 				    LP(4)

       lp - line printer devices

       #include <linux/lp.h>

       lp[0-2] are character devices for the parallel line printers; they have major number 6 and
       minor number 0-2.  The minor numbers correspond to the printer port base addresses 0x03bc,
       0x0378  and  0x0278.   Usually they have mode 220 and are owned by root and group lp.  You
       can use printer ports either with polling or with interrupts.  Interrupts are  recommended
       when  high  traffic  is	expected, e.g. for laser printers.  For usual dot matrix printers
       polling will usually be enough.	The default is polling.

       The following ioctl(2) calls are supported:

       int ioctl(int fd, LPTIME, int arg)
	      Sets the amount of time that the driver sleeps before rechecking the  printer  when
	      the  printer's  buffer  appears  to  be filled to arg.  If you have a fast printer,
	      decrease this number; if you have a slow printer then increase it.  This is in hun-
	      dredths  of  a  second,  the  default 2 being 0.02 seconds.  It only influences the
	      polling driver.

       int ioctl(int fd, LPCHAR, int arg)
	      Sets the maximum number of busy-wait iterations which the polling driver does while
	      waiting for the printer to get ready for receiving a character to arg.  If printing
	      is too slow, increase this number; if the system gets too slow, decrease this  num-
	      ber.  The default is 1000.  It only influences the polling driver.

       int ioctl(int fd, LPABORT, int arg)
	      If arg is 0, the printer driver will retry on errors, otherwise it will abort.  The
	      default is 0.

       int ioctl(int fd, LPABORTOPEN, int arg)
	      If arg is 0, open(2) will be aborted on error, otherwise	error  will  be  ignored.
	      The default is to ignore it.

       int ioctl(int fd, LPCAREFUL, int arg)
	      If  arg  is  0, then the out-of-paper, offline and error signals are required to be
	      false on all writes, otherwise they are ignored.	The default is to ignore them.

       int ioctl(int fd, LPWAIT, int arg)
	      Sets the number of busy waiting iterations to wait before strobing the  printer  to
	      accept  a just-written character, and the number of iterations to wait before turn-
	      ing the strobe off again, to arg.  The specification says this time should  be  0.5
	      microseconds,  but  experience  has  shown  the delay caused by the code is already
	      enough.  For that reason, the default value is  0.   This  is  used  for	both  the
	      polling and the interrupt driver.

       int ioctl(int fd, LPSETIRQ, int arg)
	      This ioctl() requires superuser privileges.  It takes an int containing the new IRQ
	      as argument.  As a side effect, the printer will be reset.   When  arg  is  0,  the
	      polling driver will be used, which is also default.

       int ioctl(int fd, LPGETIRQ, int *arg)
	      Stores the currently used IRQ in arg.

       int ioctl(int fd, LPGETSTATUS, int *arg)
	      Stores the value of the status port in arg.  The bits have the following meaning:

	      LP_PBUSY	   inverted busy input, active high
	      LP_PACK	   unchanged acknowledge input, active low
	      LP_POUTPA    unchanged out-of-paper input, active high
	      LP_PSELECD   unchanged selected input, active high
	      LP_PERRORP   unchanged error input, active low

	      Refer  to  your  printer	manual for the meaning of the signals.	Note that undocu-
	      mented bits may also be set, depending on your printer.

       int ioctl(int fd, LPRESET)
	      Resets the printer.  No argument is used.


       The printer driver was originally written by Jim Weigand and Linus Torvalds.  It was  fur-
       ther  improved  by  Michael  K.	Johnson.  The interrupt code was written by Nigel Gamble.
       Alan Cox modularised it.  LPCAREFUL, LPABORT, LPGETSTATUS were added by Chris Metcalf.

       mknod(1), chown(1), chmod(1), tunelp(8), lpcntl(8)

					    1995-01-15					    LP(4)
Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums

All times are GMT -4. The time now is 08:11 AM.