lp(7D)




NAME

     lp - driver for parallel port


SYNOPSIS

     include <sys/bpp_io.h>
     fd = open("/dev/lpn", flags);


DESCRIPTION

     The lp driver provides the interface to the  parallel  ports
     used  by  printers  for  x86 based systems. The lp driver is
     implemented as a  STREAMS device.


IOCTLS

     BPPIOC_TESTIO
           Test transfer readiness. This command checks to see if
           a  read  or  write transfer would succeed based on pin
           status. If a transfer would succeed,  0  is  returned.
           If  a  transfer would fail,  -1 is returned, and errno
           is set to  EIO. The  error  status  can  be  retrieved
           using the  BPPIOC_GETERR ioctl() call.

     BPPIOC_GETERR
           Get last error status. The argument is a pointer to  a
           struct  bpp_error_status.  See below for a description
           of the elements  of  this  structure.  This  structure
           indicates  the  status  of  all the appropriate status
           bits at the time of the most  recent  error  condition
           during  a   read(2) or write(2) call, or the status of
           the bits at the  most  recent  BPPIOC_TESTIO  ioctl(2)
           call.  The  application  can  check transfer readiness
           without  attempting   another   transfer   using   the
           BPPIOC_TESTIO ioctl().

  Error Pins Structure
     This structure and symbols are defined in the  include  file
     <sys/bpp_io.h>:

     struct bpp_error_status {
             char  timeout_occurred;   /* Not use */
          char  bus_error;          /* Not use */
          uchar_t pin_status;       /* Status of pins which could cause an error */
     };

     /* Values for pin_status field */
     #define BPP_ERR_ERR 0x01   /* Error pin active */
     #define BPP_SLCT_ERR 0x02  /* Select pin active */
     #define BPP_PE_ERR 0x04    /* Paper empty pin active */

     Note: Other pin statuses are defined in  <sys/bpp_io.h>, but
     BPP_ERR_ERR,  BPP_SLCT_ERR  and BPP_PE_ERR are the only ones
     valid for the x86  lp driver.


ERRORS

     EIO   A BPPIOC_TESTIO ioctl() call is attempted while a con-
           dition exists that would prevent a transfer (such as a
           peripheral error).

     EINVAL
           An ioctl() is attempted with an invalid value  in  the
           command argument.


FILES

     /platform/i86pc/kernel/drv/lp.conf
           configuration file for  lp driver


ATTRIBUTES

     See attributes(5) for descriptions of the  following  attri-
     butes:

     ____________________________________________________________
    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
    |_____________________________|_____________________________|
    | Architecture                | x86                         |
    |_____________________________|_____________________________|


SEE ALSO

     sysbus(4), attributes(5), streamio(7I)


NOTES

     A read operation on a bi-directional parallel  port  is  not
     supported.


Man(1) output converted with man2html