int ieee1284_get_irq_fd(struct parport *port);
int ieee1284_clear_irq(struct parport *port, unsigned int *count);
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).
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).
Tim Waugh <email@example.com>
Copyright © 2001-2003 Tim Waugh