ieee1284_get_irq_fd - Man Page

interrupt notification

Synopsis

#include <ieee1284.h>

int ieee1284_get_irq_fd(struct parport *port);

int ieee1284_clear_irq(struct parport *port, unsigned int *count);

Description

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.

Referenced By

ieee1284_open(3), libieee1284(3).

01/25/2024 Functions