sif_scan_pipe(3) CLIX sif_scan_pipe(3)
NAME
sif_scan_pipe, sif_scan_pipe_nw - Transfers data from scanner to pipe
LIBRARY
Intergraph Devices Library libix.a
SYNOPSIS
#include <sys/xio/xerr.h>
#include <sys/xio/xio.h>
int sif_scan_pipe(
int channel ,
int dcnt ,
int timeout ,
int *xfcnt );
int sif_scan_pipe_nw(
int channel ,
int dcnt ,
int timeout ,
struct xiosb *xiosb ,
int efn );
PARAMETERS
channel An integer representing a Scanner Interface Channel (SIF)
dcnt The byte count to be transferred
timeout The time limit in 1/60-second intervals for the data transfer
xfcnt The number of bytes transferred
xiosb A pointer to an xiosb structure
efn The event flag number associated with the request
DESCRIPTION
The sif_scan_pipe() and sif_scan_pipe_nw() functions provide a mechanism
for transferring data directly from the scanner to the scanner processing
pipeline. The specified Scanner Interface (SIF) channel will move the
data. The specified channel must have been opened with sif_open().
The dcnt parameter indicates the byte count to be transferred and must be
a multiple of the linewidth specified in sif_setup().
2/94 - Intergraph Corporation 1
sif_scan_pipe(3) CLIX sif_scan_pipe(3)
The value of timeout indicates the time limit in 1/60-second intervals for
the data transfer. Any transfer that takes longer is aborted and an
appropriate status is returned. A timeout value of zero disables the
timeout function.
Upon completion of the synchronous request, xfcnt indicates the number of
bytes transferred.
The sif_scan_pipe_nw() function is the asynchronous version of
sif_scan_pipe(), providing the same capability without waiting the request
to complete. The efn parameter is the event flag number associated with
the request. The xiosb parameter is a pointer to the xiosb structure
updated when the request completes (see intro(3)). The xfcnt member of
the xiosb structure indicates the number of bytes transferred.
RETURN VALUES
Upon successful completion of the synchronous request, a value of 0 is
returned. Otherwise, one of the following failure codes is returned.
If the XIO system accepts the asynchronous request, the request will
return a value of 0. Otherwise, XIO_FAILURE will be returned. Upon
completion of an accepted request, the status member of the xiosb
structure will be set to 0 if successful, or one of the following failure
codes if unsuccessful.
ERRORS
The sif_scan_pipe() and sif_scan_pipe_nw() functions will fail if one of
the following is true:
[XIO_FAILURE]
The system does not contain the driver needed to support this
request or efn is invalid.
[SIF_CHANNEL_INVALID]
The specified channel is beyond the maximum allowed.
[SIF_CHANNEL_NOT_OPEN]
The specified channel is not open for this process.
[BAD_DATA_BUFFER_COUNT]
The byte count is not a multiple of linewidth from sif_setup(3A).
[SIF_CANCELED]
The request was canceled with sif_cancel(3A) or sif_close(3A).
[SIF_PIX_PER_LINE_ERROR]
The scanner transmitted an incorrect number of pixels per scanline.
[SIF_LINE_PER_SWATH_ERROR]
2 Intergraph Corporation - 2/94
sif_scan_pipe(3) CLIX sif_scan_pipe(3)
The scanner transmitted an incorrect number of scanlines per swath.
[SIF_RED_PARITY_ERROR]
A parity error occurred on the red component input.
[SIF_GREEN_PARITY_ERROR]
A parity error occurred on the green component input.
[SIF_BLUE_PARITY_ERROR]
A parity error occurred on the blue component input.
[SIF_CYCLE_ERROR]
A hardware handshake error occurred on the transfer.
[SIF_TIMEOUT]
The timeout expired before the transfer completed.
RELATED INFORMATION
Functions: sif_open(3), sif_close(3), sif_setup(3), sif_cancel(3),
intro(3)
Files: xsif(7)
2/94 - Intergraph Corporation 3