1sane-dll(5) SANE Scanner Access Now Easy sane-dll(5)
2
3
4
6 sane-dll - SANE dynamic backend loader
7
9 The sane-dll library implements a SANE (Scanner Access Now Easy) back‐
10 end that provides access to an arbitrary number of other SANE backends.
11 These backends may either be pre-loaded at the time the sane-dll li‐
12 brary is built or, on systems that support dynamic loading of shared
13 libraries, the backends may be loaded at runtime. In the latter case,
14 adding support for a new backend simply involves installing the rele‐
15 vant library in /usr/lib64/sane and adding an entry to the dll.conf
16 configuration file. In other words, no applications need to be modi‐
17 fied or recompiled to add support for new devices.
18
20 This backend expects device names of the form:
21
22 backend:device
23
24 Where backend is the name of the backend and device is the name of the
25 device in this backend that should be addressed. If the device name
26 does not contain a colon (:), then the entire string is treated as the
27 device string for the default backend. The default backend is the
28 backend listed last in the configuration file (see below) or the first
29 pre-loaded backend (if any).
30
32 The contents of the dll.conf file is a list of backend names that may
33 be loaded dynamically upon demand. Empty lines are ignored, also ev‐
34 erything after a hash mark (#). A sample configuration file is shown
35 below:
36
37 net
38 # this is a comment
39 pnm
40 mustek
41
42 It is also possible to add a file in /etc/sane.d/dll.d that contains
43 the list of backends to be added. Backends mentioned in a file included
44 in this directory will be added before any backends listed in dll.conf.
45 Files in /etc/sane.d/dll.d can be freely named. They shall follow the
46 format conventions as apply for dll.conf.
47
48
49 Note that backends that were pre-loaded when building this library do
50 not have to be listed in this configuration file. That is, if a back‐
51 end was preloaded, then that backend will always be present, regardless
52 of whether it's listed in the configuration file or not.
53
54 The list of preloaded backends is determined by macro PRELOADABLE_BACK‐
55 ENDS in file backend/Makefile.in of the SANE source code distribution.
56 After changing the value of this macro, it is necessary to reconfigure,
57 rebuild, and reinstall SANE for the change to take effect.
58
59 Aliases are defined in the config file dll.aliases. It can contain en‐
60 tries of the form
61
62 alias SomeName SaneDeviceName
63 alias "Some Name" SaneDeviceName
64 hide SaneDeviceName
65
66 For example:
67
68
69 alias Epson net:somehost:epson:/dev/sgX
70 alias "Siemens ST400" st400:/dev/sgY
71 hide net:somehost:pnm:0
72 hide net:somehost:pnm:1
73 alias "Read from file" pnm:0
74 hide pnm:1
75
76 Aliased device names are automatically hidden.
77
78 The idea is that users don't have to deal with complicated device names
79 (especially for networked devices), and to hide other exported devices
80 which might confuse them. Note that a hidden device can still be ac‐
81 cessed if the device name is known, it just doesn't appear on the list.
82
83
85 /etc/sane.d/dll.aliases
86 The list of aliased or hidden backends.
87
88 /etc/sane.d/dll.conf
89 The backend configuration file (see also description of
90 SANE_CONFIG_DIR below).
91
92 /usr/lib64/sane/libsane-dll.a
93 The static library implementing this backend.
94
95 /usr/lib64/sane/libsane-dll.so
96 The shared library implementing this backend (present on systems
97 that support dynamic loading).
98
100 SANE_CONFIG_DIR
101 This environment variable specifies the list of directories that
102 may contain the configuration file. On *NIX systems, the direc‐
103 tories are separated by a colon (`:'), under OS/2, they are sep‐
104 arated by a semi-colon (`;'). If this variable is not set, the
105 configuration file is searched in two default directories:
106 first, the current working directory (".") and then in
107 /etc/sane.d. If the value of the environment variable ends with
108 the directory separator character, then the default directories
109 are searched after the explicitly specified directories. For
110 example, setting SANE_CONFIG_DIR to "/tmp/config:" would result
111 in directories tmp/config, ., and /etc/sane.d being searched (in
112 this order).
113
114 SANE_DEBUG_DLL
115 If the library was compiled with debug support enabled, this en‐
116 vironment variable controls the debug level for this backend.
117 E.g., a value of 128 requests all debug output to be printed.
118 Smaller levels reduce verbosity.
119
120 Value Description
121 0 print severe errors only
122 1 print normal errors and important messages
123 2 print normal messages
124 3 print debugging messages
125 4 print everything
126
127 Example: export SANE_DEBUG_DLL=3
128
129
130
132 sane(7), scanimage(1), sane-"backendname"[22m(5)
133
134
136 David Mosberger
137
138
139
140 13 Jul 2008 sane-dll(5)