.\"Generated by db2man.xsl. Don't modify this, modify the source.
.de Sh \" Subsection
.br
.if t .Sp
.ne 5
.PP
\fB\\$1\fR
.PP
..
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Ip \" List item
.br
.ie \\n(.$>=3 .ne \\$3
.el .ne 3
.IP "\\$1" \\$2
..
.TH "IEEE1284_DATA" 3 "" "" ""
.SH NAME
ieee1284_read_data, ieee1284_write_data, ieee1284_data_dir, ieee1284_wait_data \- control the data lines
.SH "SYNOPSIS"
.ad l
.hy 0

#include <ieee1284\&.h>
.sp
.HP 24
int\ \fBieee1284_read_data\fR\ (struct\ parport\ *\fIport\fR);
.HP 26
void\ \fBieee1284_write_data\fR\ (struct\ parport\ *\fIport\fR, unsigned\ char\ \fIdt\fR);
.HP 23
int\ \fBieee1284_data_dir\fR\ (struct\ parport\ *\fIport\fR, int\ \fIreverse\fR);
.HP 24
int\ \fBieee1284_wait_data\fR\ (struct\ parport\ *\fIport\fR, unsigned\ char\ \fImask\fR, unsigned\ char\ \fIval\fR, struct\ timeval\ *\fItimeout\fR);
.ad
.hy

.SH "DESCRIPTION"

.PP
These functions manipulate the data lines of the parallel port associated with \fIport\fR (which must have been claimed using \fBieee1284_claim\fR(3))\&. The lines are represented by an 8\-bit number (one line per bit) and a direction\&. The data lines are driven as a group; they may be all host\-driven (forward direction) or not (reverse direction)\&. When the peripheral is driving them the host must not\&.

.PP
For \fBieee1284_data_dir\fR the \fIreverse\fR parameter should be zero to turn the data line drivers on and non\-zero to turn them off\&. Some port types may be unable to switch off the data line drivers\&.

.PP
Setting the data lines may have side effects on some port types (for example, some Amiga ports pulse nStrobe)\&.

.PP
\fBieee1284_wait_data\fR waits, up until the \fItimeout\fR, for the data bits specified in \fImask\fR to have the corresponding values in \fIval\fR\&.

.SH "RETURN VALUE"

.PP
\fBieee1284_read_data\fR returns the 8\-bit number representing the data lines unless it is not possible to return such a value with this port type, in which case it returns an error code\&. Possible error codes:

.TP
\fBE1284_NOTAVAIL\fR
Bi\-directional data lines are not available on this system\&.

.TP
\fBE1284_INVALIDPORT\fR
The \fIport\fR parameter is invalid (perhaps it has not been claimed, for instance)\&.

.TP
\fBE1284_SYS\fR
There was an error at the operating system level, and \fIerrno\fR has been set accordingly\&.

.TP
\fBE1284_TIMEDOUT\fR
The \fItimeout\fR has elapsed\&.

.PP
Whereas \fBieee1284_read_data\fR may return \fBE1284_NOTAVAIL\fR on its first invocation on the port, if it does not do so then it cannot until \fBieee1284_close\fR is called for that port\&.

.SH AUTHOR
Tim Waugh <twaugh@redhat\&.com>.
