Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

ieee1284_get_irq_fd(3) [centos man page]

IEEE1284_GET_IRQ_FD(3)						     Functions						    IEEE1284_GET_IRQ_FD(3)

NAME
ieee1284_get_irq_fd, ieee1284_clear_irq - 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-NULLcount. 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 (C) 2001-2003 Tim Waugh [FIXME: source] 06/17/2014 IEEE1284_GET_IRQ_FD(3)

Check Out this Related Man Page

IEEE1284_STATUS(3)						     Functions							IEEE1284_STATUS(3)

NAME
ieee1284_read_status, ieee1284_wait_status - analyse status lines 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 lacks the required capability. This could be due to a limitation of this version of libieee1284, or a hardware limitation. E1284_NOTAVAIL Access to the status lines is not available on this port type. E1284_TIMEDOUT The timeout has elapsed. E1284_INVALIDPORT 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 application 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> Author. COPYRIGHT
Copyright (C) 2001-2003 Tim Waugh 09/18/2007 IEEE1284_STATUS(3)
Man Page