sane-dll(5) SANE Scanner Access Now Easy sane-dll(5)
NAME
sane-dll - SANE dynamic backend loader
DESCRIPTION
The sane-dll library implements a SANE (Scanner Access Now Easy) backend
that provides access to an arbitrary number of other SANE backends.
These backends may either be pre-loaded at the time the sane-dll library
is built or, on systems that support dynamic loading of shared li-
braries, the backends may be loaded at runtime. In the latter case,
adding support for a new backend simply involves installing the relevant
library in /usr/lib/x86_64-linux-gnu/sane and adding an entry to the
dll.conf configuration file. In other words, no applications need to be
modified or recompiled to add support for new devices.
DEVICE NAMES
This backend expects device names of the form:
backend:device
Where backend is the name of the backend and device is the name of the
device in this backend 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 backend. The default backend is the back-
end listed last in the configuration file (see below) or the first pre-
loaded backend (if any).
CONFIGURATION
The contents of the dll.conf file is a list of backend names that may be
loaded dynamically upon demand. Empty lines are ignored, also every-
thing after a hash mark (#). A sample configuration file is shown below:
net
# this is a comment
pnm
mustek
It is also possible to add a file in /etc/sane.d/dll.d that contains the
list of backends to be added. Backends mentioned in a file included in
this directory will be added before any backends listed in dll.conf.
Files in /etc/sane.d/dll.d can be freely named. They shall follow the
format conventions as apply for dll.conf.
Note that backends that were pre-loaded when building this library do
not have to be listed in this configuration file. That is, if a backend
was preloaded, then that backend will always be present, regardless of
whether it's listed in the configuration file or not.
The list of preloaded backends is determined by macro PRELOADABLE_BACK-
ENDS in file backend/Makefile.in of the SANE source code distribution.
After changing the value of this macro, it is necessary to reconfigure,
rebuild, and reinstall SANE for the change to take effect.
Aliases are defined in the config file dll.aliases. It can contain en-
tries of the form
alias SomeName SaneDeviceName
alias "Some Name" SaneDeviceName
hide SaneDeviceName
For example:
alias Epson net:somehost:epson:/dev/sgX
alias "Siemens ST400" st400:/dev/sgY
hide net:somehost:pnm:0
hide net:somehost:pnm:1
alias "Read from file" pnm:0
hide pnm:1
Aliased device names are automatically hidden.
The idea is that users don't have to deal with complicated device names
(especially for networked devices), and to hide other exported devices
which might confuse them. Note that a hidden device can still be ac-
cessed if the device name is known, it just doesn't appear on the list.
FILES
/etc/sane.d/dll.aliases
The list of aliased or hidden backends.
/etc/sane.d/dll.conf
The backend configuration file (see also description of SANE_CON-
FIG_DIR below).
/usr/lib/x86_64-linux-gnu/sane/libsane-dll.a
The static library implementing this backend.
/usr/lib/x86_64-linux-gnu/sane/libsane-dll.so
The shared library implementing this backend (present on systems
that support dynamic loading).
ENVIRONMENT
SANE_CONFIG_DIR
This environment variable specifies the list of directories that
may contain the configuration file. On *NIX systems, the direc-
tories are separated by a colon (`:'), under OS/2, they are sepa-
rated 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).
SANE_DEBUG_DLL
If the library was compiled with debug support enabled, this en-
vironment 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.
Value Description
0 print severe errors only
1 print normal errors and important messages
2 print normal messages
3 print debugging messages
4 print everything
Example: export SANE_DEBUG_DLL=3
SEE ALSO
sane(7), scanimage(1), sane-"backendname"(5)
AUTHOR
David Mosberger
13 Jul 2008 sane-dll(5)
Generated by dwww version 1.16 on Fri Oct 2 22:02:22 CEST 2026.