Sane network backend
The sane-net library implements a SANE (Scanner Access Now Easy) backend that provides access to image acquisition devices through a network connection. This makes it possible to control devices attached to a remote host and also provides a means to grant users access to protected resources.
This backend expects device names of the form:
Where host is the name (or IP address) of the (remote) host and device is the name of the device on this host that should be addressed. If the device name does not contain a colon (:), then the entire string is treated as the device string for the default host. The default host is the host listed last in the configuration file (see below).
An IPv6 address can be specified enclosed in square brackets:
The net.conf file contains both backend options and a list of host names (or IP addresses) that should be contacted for scan requests. Anything that isn't one of the options listed below will be treated as an host name.
connect_timeout = nsecs
Timeout (in seconds) for the initial connection to the saned server. This will prevent the backend from blocking for several minutes trying to connect to an unresponsive saned host (network outage, host down, ...). The environment variable SANE_NET_TIMEOUT can also be used to specify the timeout at runtime.
Empty lines and lines starting with a hash mark (#) are ignored. Note that IPv6 addresses in this file do not need to be enclosed in square brackets. A sample configuration file is shown below:
# this is a comment
The above list of hosts can be extended at run-time using environment variable SANE_NET_HOSTS. This environment variable is a colon-separated list of hostnames or IP addresses that should be contacted in addition to the hosts mentioned in the configuration file. For example, a user could set the environment variable to the string:
To request that hosts new.scanner.com , [::1] , 192.168.0.2 and scanner.univ.edu are contacted in addition to the hosts listed above.
For this backend to function properly, it is also necessary to define the sane-port service in /etc/services. The sane service should be defined using a line of the following form:
sane-port 6566/tcp # SANE network scanner daemon
The backend configuration file (see also description of SANE_CONFIG_DIR below).
The static library implementing this backend.
The shared library implementing this backend (present on systems that support dynamic loading).
This environment variable specifies the list of directories that may contain the configuration file. Under UNIX, the directories are separated by a colon (`:'), under OS/2, they are separated by a semi-colon (`;'). If this variable is not set, the configuration file is searched in two default directories: first, the current working directory (".") and then in /etc/sane.d. If the value of the environment variable ends with the directory separator character, then the default directories are searched after the explicitly specified directories. For example, setting SANE_CONFIG_DIR to "/tmp/config:" would result in directories "tmp/config", ".", and "/etc/sane.d" being searched (in this order).
A colon-separated list of host names or IP addresses to be contacted by this backend.
Number of seconds to wait for a response from the saned server for the initial connection request.
If the library was compiled with debug support enabled, this environment variable controls the debug level for this backend. E.g., a value of 128 requests all debug output to be printed. Smaller levels reduce verbosity.
If saned has timed out, the net backend may loop with authorization requests.
David Mosberger and Andreas Beck