SCSetup(3) Impressario SCSetup(3)NAMESCSetup - set scanning parameters
SYNOPSIS
#include <stdio.h>
#include <scanner.h>
int SCSetup(SCANNER *s, int preview, SCDATATYPE *type,
int rmetric, float xres, float yres,
int wmetric, float x, float y, float width, float height);
DESCRIPTIONSCSetup transfers scanning parameters to the scanner driver, in
preparation for a subsequent call to SCScan or SCScanFD.
s specifies a connection to a scanner driver obtained from a call to
SCOpen(3), SCOpenFile(3), or SCOpenScreen(3).
preview should be non-zero if these are parameters are for a preview, or
0 if they are for a final scan. If set, this flag is an indication to
the driver to prefer speed over image quality in order to enable a fast
preview mode. If preview is zero, the scanner driver is instructed to
prefer image quality over speed.
type is the type of data to be scanned. It must be one of the types
supported by the scanner. See SCGetDataTypes(3) for information on
determining which types are supported by a scanner.
rmetric is set to either SC_INCHES or SC_CENTIM, depending on whether the
resolution is specified in inches or centimeters. xres specifies the
horizontal scanning resolution, and yres specifies the vertical scanning
resolution. xres and yres must be within the limits supported by the
scanner driver. See SCGetMinMaxRes(3) for information about getting
these limits.
wmetric is set to either SC_PIXELS, SC_INCHES, or SC_CENTIM, depending on
whether the scan area is specified in pixels, inches, or centimeters. x
and y specify the coordinates of the upper left corner of the scan area,
and width and height specify the size of the scanning area. The scanning
area must lie within the scannable area supported by the scanner. See
SCGetPageSize(3) for information about getting the scannable area.
If wmetric is set to SC_PIXELS, the scanner driver is required to return
exactly width pixels per scan line and exactly height scan lines when
scanning.
After calling SCSetup, SCGetScanSize(3) should be called to determine the
actual size in pixels of the scanning area, and then SCScan(3) or
SCScanFD(3) should be called to start scanning.
Page 1
SCSetup(3) Impressario SCSetup(3)RETURN VALUESCSetup returns 0 if successful. If an error occurs, SCSetup returns -1
and sets SCerrno to indicate the cause of the error.
EXECUTION ERROR CODESSCSetup will fail under the following circumstances.
SCENOTSUPPORTED Unsupported operation
SCEBADTYPE Illegal data type specified
SCENOMEM Out of memory
SCEBADRES Unsupported resolution specified
SCEBADPARAM Bad scanning parameter
SCEBADMETRIC Unsupported metric
SCEDEV Scanner driver error
SCECOMM Error communicating with scanner driver
SCEDRVMSG Driver specific error. SCErrorString(3) will
return a custom message supplied by the scanner
driver
SEE ALSOlibscan(3), SCOpen(3), SCGetDataTypes(3), SCGetScannerRes(3),
SCGetMinMaxRes(3), SCGetPageSize(3), SCScan(3), SCScanFD(3).
Page 2