ieee1284_get_irq_fd, ieee1284_clear_irq — interrupt notification
#include <ieee1284.h>
int ieee1284_get_irq_fd( | port) ; |
struct parport * | port; |
int ieee1284_clear_irq( | portcount) ; |
struct parport *,
unsigned int * | portcount; |
If the port
has a configured
interrupt line and the port type supports interrupt
notification, it is possible to obtain a file descriptor that
may be used for
select(2) or poll(2). Any event (readable, writable
or exception) means that an interrupt has been
triggered. No operations other than
select
or poll
may
be performed on the file descriptor.
The port must be open in order to call
ieee1284_get_irq_fd
, and must be claimed
when using select
or
poll
.
The caller must not close the file descriptor, and may not use it at all when the port is not claimed.
When an interrupt has been detected, the caller must
call ieee1284_clear_irq
to clear the
interrupt condition, at which point the number of interrupts
raised can be obtained by supplying a
non-NULL
count
.
For ieee1284_get_irq_fd
: If the
return value is negative then it is an error code listed
below. Otherwise it is a valid file descriptor.
No such file descriptor is available.
The port
parameter is
invalid (for instance, perhaps the
port
is not open).
For ieee1284_clear_irq
:
The interrupt has been cleared. If
count
was not
NULL
the count of interrupts has
been atomically stored to
count
and reset.
The count
parameter was
not NULL
but interrupt counting
is not supported on this type of port. The interrupt
has been cleared.
There was a problem clearing the interrupt.
The port
parameter is
invalid (for instance, perhaps the
port
is not claimed).