Blame doc/ieee1284_get_irq_fd.3

Packit d36e9b
.\"     Title: ieee1284_get_irq_fd
Packit d36e9b
.\"    Author: Tim Waugh <twaugh@redhat.com>
Packit d36e9b
.\" Generator: DocBook XSL Stylesheets v1.72.0 <http://docbook.sf.net/>
Packit d36e9b
.\"      Date: 09/18/2007
Packit d36e9b
.\"    Manual: Functions
Packit d36e9b
.\"    Source: 
Packit d36e9b
.\"
Packit d36e9b
.TH "IEEE1284_GET_IRQ_FD" "3" "09/18/2007" "" "Functions"
Packit d36e9b
.\" disable hyphenation
Packit d36e9b
.nh
Packit d36e9b
.\" disable justification (adjust text to left margin only)
Packit d36e9b
.ad l
Packit d36e9b
.SH "NAME"
Packit d36e9b
ieee1284_get_irq_fd, ieee1284_clear_irq \- interrupt notification
Packit d36e9b
.SH "SYNOPSIS"
Packit d36e9b
.sp
Packit d36e9b
.ft B
Packit d36e9b
.nf
Packit d36e9b
#include <ieee1284.h>
Packit d36e9b
.fi
Packit d36e9b
.ft
Packit d36e9b
.HP 24
Packit d36e9b
.BI "int ieee1284_get_irq_fd(struct\ parport\ *" "port" ");"
Packit d36e9b
.HP 23
Packit d36e9b
.BI "int ieee1284_clear_irq(struct\ parport\ *" "port" ",\ unsigned\ int\ *" "count" ");"
Packit d36e9b
.SH "DESCRIPTION"
Packit d36e9b
.PP
Packit d36e9b
If the
Packit d36e9b
\fIport\fR
Packit d36e9b
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
Packit d36e9b
\fBselect\fR(2)
Packit d36e9b
or
Packit d36e9b
\fBpoll\fR(2). Any event (readable, writable or exception) means that an interrupt has been triggered. No operations other than
Packit d36e9b
\fBselect\fR
Packit d36e9b
or
Packit d36e9b
\fBpoll\fR
Packit d36e9b
may be performed on the file descriptor.
Packit d36e9b
.PP
Packit d36e9b
The port must be open in order to call
Packit d36e9b
\fBieee1284_get_irq_fd\fR, and must be claimed when using
Packit d36e9b
\fBselect\fR
Packit d36e9b
or
Packit d36e9b
\fBpoll\fR.
Packit d36e9b
.PP
Packit d36e9b
The caller must not close the file descriptor, and may not use it at all when the port is not claimed.
Packit d36e9b
.PP
Packit d36e9b
When an interrupt has been detected, the caller must call
Packit d36e9b
\fBieee1284_clear_irq\fR
Packit d36e9b
to clear the interrupt condition, at which point the number of interrupts raised can be obtained by supplying a non\-\fBNULL\fR
Packit d36e9b
\fIcount\fR.
Packit d36e9b
.SH "RETURN VALUE"
Packit d36e9b
.PP
Packit d36e9b
For
Packit d36e9b
\fBieee1284_get_irq_fd\fR: If the return value is negative then it is an error code listed below. Otherwise it is a valid file descriptor.
Packit d36e9b
.PP
Packit d36e9b
\fBE1284_NOTAVAIL\fR
Packit d36e9b
.RS 4
Packit d36e9b
No such file descriptor is available.
Packit d36e9b
.RE
Packit d36e9b
.PP
Packit d36e9b
\fBE1284_INVALIDPORT\fR
Packit d36e9b
.RS 4
Packit d36e9b
The
Packit d36e9b
\fIport\fR
Packit d36e9b
parameter is invalid (for instance, perhaps the
Packit d36e9b
\fIport\fR
Packit d36e9b
is not open).
Packit d36e9b
.RE
Packit d36e9b
.PP
Packit d36e9b
For
Packit d36e9b
\fBieee1284_clear_irq\fR:
Packit d36e9b
.PP
Packit d36e9b
\fBE1284_OK\fR
Packit d36e9b
.RS 4
Packit d36e9b
The interrupt has been cleared. If
Packit d36e9b
\fIcount\fR
Packit d36e9b
was not
Packit d36e9b
\fBNULL\fR
Packit d36e9b
the count of interrupts has been atomically stored to
Packit d36e9b
\fIcount\fR
Packit d36e9b
and reset.
Packit d36e9b
.RE
Packit d36e9b
.PP
Packit d36e9b
\fBE1284_NOTAVAIL\fR
Packit d36e9b
.RS 4
Packit d36e9b
The
Packit d36e9b
\fIcount\fR
Packit d36e9b
parameter was not
Packit d36e9b
\fBNULL\fR
Packit d36e9b
but interrupt counting is not supported on this type of port. The interrupt has been cleared.
Packit d36e9b
.RE
Packit d36e9b
.PP
Packit d36e9b
\fBE1284_SYS\fR
Packit d36e9b
.RS 4
Packit d36e9b
There was a problem clearing the interrupt.
Packit d36e9b
.RE
Packit d36e9b
.PP
Packit d36e9b
\fBE1284_INVALIDPORT\fR
Packit d36e9b
.RS 4
Packit d36e9b
The
Packit d36e9b
\fIport\fR
Packit d36e9b
parameter is invalid (for instance, perhaps the
Packit d36e9b
\fIport\fR
Packit d36e9b
is not claimed).
Packit d36e9b
.RE
Packit d36e9b
.SH "AUTHOR"
Packit d36e9b
.PP
Packit d36e9b
\fBTim Waugh\fR <\&twaugh@redhat.com\&>
Packit d36e9b
.sp -1n
Packit d36e9b
.IP "" 4
Packit d36e9b
Author.
Packit d36e9b
.SH "COPYRIGHT"
Packit d36e9b
Copyright \(co 2001\-2003 Tim Waugh
Packit d36e9b
.br
Packit d36e9b