Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

parport_wait_peripheral(9) [centos man page]

PARPORT_WAIT_PERIPHE(9) 				       Parallel Port Devices					   PARPORT_WAIT_PERIPHE(9)

parport_wait_peripheral - wait for status lines to change in 35ms SYNOPSIS
int parport_wait_peripheral(struct parport * port, unsigned char mask, unsigned char result); ARGUMENTS
port port to watch mask status lines to watch result desired values of chosen status lines DESCRIPTION
This function waits until the masked status lines have the desired values, or until 35ms have elapsed (see IEEE 1284-1994 page 24 to 25 for why this value in particular is hardcoded). The mask and result parameters are bitmasks, with the bits defined by the constants in parport.h: PARPORT_STATUS_BUSY, and so on. The port is polled quickly to start off with, in anticipation of a fast response from the peripheral. This fast polling time is configurable (using /proc), and defaults to 500usec. If the timeout for this port (see parport_set_timeout) is zero, the fast polling time is 35ms, and this function does not call schedule. If the timeout for this port is non-zero, after the fast polling fails it uses parport_wait_event to wait for up to 10ms, waking up if an interrupt occurs. COPYRIGHT
Kernel Hackers Manual 3.10 June 2014 PARPORT_WAIT_PERIPHE(9)

Check Out this Related Man Page

IEEE1284_STATUS(3)						     Functions							IEEE1284_STATUS(3)

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 <> Author. COPYRIGHT
Copyright (C) 2001-2003 Tim Waugh 09/18/2007 IEEE1284_STATUS(3)
Man Page