SYNOPSIS

       #include <ieee1284.h>


       int ieee1284_read_status (struct parport *port);

       int ieee1284_wait_status (struct parport *port, unsigned char mask,
                                 unsigned char val, struct timeval *timeout);



DESCRIPTION

       There are five status lines,  one  of  which  is  usually  inverted  on
       PC-style  ports.  Where  they  differ, libieee1284 operates on the IEEE
       1284 values, not the PC-style inverted values.  The  status  lines  are
       represented by the following enumeration:

       enum ieee1284_status_bits
       {
         S1284_NFAULT = 0x08,
         S1284_SELECT = 0x10,
         S1284_PERROR = 0x20,
         S1284_NACK   = 0x40,
         S1284_BUSY   = 0x80,
         /* To convert those values into PC-style register values, use this: */
         S1284_INVERTED = S1284_BUSY,
       };


       These  functions  all  act  on  the parallel port associated with port,
       which must be claimed.


       The purpose of ieee1284_wait_status is to wait until particular  status
       lines  have  specified values. Its timeout parameter may be modified on
       return.



RETURN VALUE

       For ieee1284_read_status, the return value is  a  non-negative  integer
       with  bits set as appropriate representing the status lines. A negative
       result indicates an error.


       For ieee1284_wait_status, the return value is E1284_OK  if  the  status
       lines  now reflect the desired values (i.e. status & mask is val), or a
       negative result indicating an error.


       Possible error codes:


       E1284_NOTIMPL
              The port parameter is invalid (for instance, perhaps the port is
              not claimed).



NOTES

       The  nAck  pin is often able to trigger interrupts on the host machine.
       With operating system help these interrupts may be visible to  the  ap-
       plication via the file descriptor returned by ieee1284_get_irq_fd.


       Under  Linux,  the  conditions  are that the parallel port driver knows
       which interrupt line to use and is using  it,  and  that  the  relevant
       /dev/parport device node is accessible and backed by a device driver.



AUTHOR

       Tim Waugh <twaugh@redhat.com>.



                                                            IEEE1284_STATUS(3)

Man(1) output converted with man2html