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.
RETURN VALUE
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.
E1284_NOTAVAIL
-
No such file descriptor is available.
E1284_INVALIDPORT
-
The
port
parameter is invalid (for instance, perhaps the
port
is not open).
For
ieee1284_clear_irq:
E1284_OK
-
The interrupt has been cleared. If
count
was not
NULL
the count of interrupts has been atomically stored to
count
and reset.
E1284_NOTAVAIL
-
The
count
parameter was not
NULL
but interrupt counting is not supported on this type of port. The interrupt has been cleared.
E1284_SYS
-
There was a problem clearing the interrupt.
E1284_INVALIDPORT
-
The
port
parameter is invalid (for instance, perhaps the
port
is not claimed).
AUTHOR
Tim Waugh <twaugh@redhat.com>
-
Author.
COPYRIGHT
Copyright © 2001-2003 Tim Waugh