{"id":4534,"date":"2022-12-20T18:08:58","date_gmt":"2022-12-20T21:08:58","guid":{"rendered":"http:\/\/lode.uno\/linux-man\/index.php\/2022\/12\/20\/sanedll-man5\/"},"modified":"2022-12-20T18:08:58","modified_gmt":"2022-12-20T21:08:58","slug":"sanedll-man5","status":"publish","type":"post","link":"https:\/\/lode.uno\/linux-man\/2022\/12\/20\/sanedll-man5\/","title":{"rendered":"sane&minus;dll (man5)"},"content":{"rendered":"<h1 align=\"center\">sane\u2212dll<\/h1>\n<p> <a href=\"#NAME\">NAME<\/a><br \/> <a href=\"#DESCRIPTION\">DESCRIPTION<\/a><br \/> <a href=\"#DEVICE NAMES\">DEVICE NAMES<\/a><br \/> <a href=\"#CONFIGURATION\">CONFIGURATION<\/a><br \/> <a href=\"#FILES\">FILES<\/a><br \/> <a href=\"#ENVIRONMENT\">ENVIRONMENT<\/a><br \/> <a href=\"#SEE ALSO\">SEE ALSO<\/a><br \/> <a href=\"#AUTHOR\">AUTHOR<\/a> <\/p>\n<hr>\n<h2>NAME <a name=\"NAME\"><\/a> <\/h2>\n<p style=\"margin-left:11%; margin-top: 1em\">sane\u2212dll \u2212 SANE dynamic backend loader<\/p>\n<h2>DESCRIPTION <a name=\"DESCRIPTION\"><\/a> <\/h2>\n<p style=\"margin-left:11%; margin-top: 1em\">The <b>sane\u2212dll<\/b> 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 <b>sane\u2212dll<\/b> library is built or, on systems that support dynamic loading of shared libraries, the backends may be loaded at runtime. In the latter case, adding support for a new backend simply involves installing the relevant library in <i>\/usr\/lib64\/sane<\/i> and adding an entry to the <i>dll.conf<\/i> configuration file. In other words, no applications need to be modified or recompiled to add support for new devices.<\/p>\n<h2>DEVICE NAMES <a name=\"DEVICE NAMES\"><\/a> <\/h2>\n<p style=\"margin-left:11%; margin-top: 1em\">This backend expects device names of the form:<\/p>\n<p style=\"margin-left:22%; margin-top: 1em\"><i>backend<\/i>:<i>device<\/i><\/p>\n<p style=\"margin-left:11%; margin-top: 1em\">Where <i>backend<\/i> is the name of the backend and <i>device<\/i> 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 <i>device<\/i> string for the default backend. The default backend is the backend listed last in the configuration file (see below) or the first pre-loaded backend (if any).<\/p>\n<h2>CONFIGURATION <a name=\"CONFIGURATION\"><\/a> <\/h2>\n<p style=\"margin-left:11%; margin-top: 1em\">The contents of the <i>dll.conf<\/i> file is a list of backend names that may be loaded dynamically upon demand. Empty lines are ignored, also everything after a hash mark (#). A sample configuration file is shown below:<\/p>\n<p style=\"margin-left:22%; margin-top: 1em\">net <br \/> # this is a comment <br \/> pnm <br \/> mustek<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\">It is also possible to add a file in <i>\/etc\/sane.d\/dll.d<\/i> 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 <i>dll.conf.<\/i> Files in <i>\/etc\/sane.d\/dll.d<\/i> can be freely named. They shall follow the format conventions as apply for <i>dll.conf.<\/i><\/p>\n<p style=\"margin-left:11%; margin-top: 1em\">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\u2019s listed in the configuration file or not.<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\">The list of preloaded backends is determined by macro <b>PRELOADABLE_BACKENDS<\/b> 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.<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\">Aliases are defined in the config file <i>dll.aliases<\/i>. It can contain entries of the form<\/p>\n<p style=\"margin-left:22%; margin-top: 1em\">alias SomeName SaneDeviceName <br \/> alias &#8220;Some Name&#8221; SaneDeviceName <br \/> hide SaneDeviceName<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\">For example:<\/p>\n<p style=\"margin-left:22%; margin-top: 1em\">alias Epson net:somehost:epson:\/dev\/sgX <br \/> alias &#8220;Siemens ST400&#8221; st400:\/dev\/sgY <br \/> hide net:somehost:pnm:0 <br \/> hide net:somehost:pnm:1 <br \/> alias &#8220;Read from file&#8221; pnm:0 <br \/> hide pnm:1<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\">Aliased device names are automatically hidden.<\/p>\n<p style=\"margin-left:11%; margin-top: 1em\">The idea is that users don\u2019t 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 accessed if the device name is known, it just doesn\u2019t appear on the list.<\/p>\n<h2>FILES <a name=\"FILES\"><\/a> <\/h2>\n<p style=\"margin-left:11%; margin-top: 1em\"><i>\/etc\/sane.d\/dll.aliases<\/i><\/p>\n<p style=\"margin-left:22%;\">The list of aliased or hidden backends.<\/p>\n<p style=\"margin-left:11%;\"><i>\/etc\/sane.d\/dll.conf<\/i><\/p>\n<p style=\"margin-left:22%;\">The backend configuration file (see also description of <b>SANE_CONFIG_DIR<\/b> below).<\/p>\n<p style=\"margin-left:11%;\"><i>\/usr\/lib64\/sane\/libsane\u2212dll.a<\/i><\/p>\n<p style=\"margin-left:22%;\">The static library implementing this backend.<\/p>\n<p style=\"margin-left:11%;\"><i>\/usr\/lib64\/sane\/libsane\u2212dll.so<\/i><\/p>\n<p style=\"margin-left:22%;\">The shared library implementing this backend (present on systems that support dynamic loading).<\/p>\n<h2>ENVIRONMENT <a name=\"ENVIRONMENT\"><\/a> <\/h2>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>SANE_CONFIG_DIR<\/b><\/p>\n<p style=\"margin-left:22%;\">This environment variable specifies the list of directories that may contain the configuration file. On *NIX systems, the directories are separated by a colon (\u2018:\u2019), under OS\/2, they are separated by a semi-colon (\u2018;\u2019). If this variable is not set, the configuration file is searched in two default directories: first, the current working directory (&#8220;.&#8221;) and then in <i>\/etc\/sane.d<\/i>. 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 <b>SANE_CONFIG_DIR<\/b> to &#8220;\/tmp\/config:&#8221; would result in directories <i>tmp\/config<\/i>, <i>.<\/i>, and <i>\/etc\/sane.d<\/i> being searched (in this order).<\/p>\n<p style=\"margin-left:11%;\"><b>SANE_DEBUG_DLL<\/b><\/p>\n<p style=\"margin-left:22%;\">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.<\/p>\n<p style=\"margin-left:22%; margin-top: 1em\">Value Description <br \/> 0 print severe errors only <br \/> 1 print normal errors and important messages <br \/> 2 print normal messages <br \/> 3 print debugging messages <br \/> 4 print everything<\/p>\n<p style=\"margin-left:22%; margin-top: 1em\">Example: export SANE_DEBUG_DLL=3<\/p>\n<h2>SEE ALSO <a name=\"SEE ALSO\"><\/a> <\/h2>\n<p style=\"margin-left:11%; margin-top: 1em\"><b>sane<\/b>(7), <b>scanimage<\/b>(1), <b>sane\u2212&#8221;backendname&#8221;<\/b>(5)<\/p>\n<h2>AUTHOR <a name=\"AUTHOR\"><\/a> <\/h2>\n<p style=\"margin-left:11%; margin-top: 1em\">David Mosberger<\/p>\n<hr>\n","protected":false},"excerpt":{"rendered":"<p>  sane\u2212dll \u2212 SANE dynamic backend loader <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[959],"tags":[961,1291,1494],"class_list":["post-4534","post","type-post","status-publish","format-standard","hentry","category-5-formatos-de-ficheros","tag-961","tag-man5","tag-sane-dll"],"gutentor_comment":0,"_links":{"self":[{"href":"https:\/\/lode.uno\/linux-man\/wp-json\/wp\/v2\/posts\/4534","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lode.uno\/linux-man\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lode.uno\/linux-man\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lode.uno\/linux-man\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lode.uno\/linux-man\/wp-json\/wp\/v2\/comments?post=4534"}],"version-history":[{"count":0,"href":"https:\/\/lode.uno\/linux-man\/wp-json\/wp\/v2\/posts\/4534\/revisions"}],"wp:attachment":[{"href":"https:\/\/lode.uno\/linux-man\/wp-json\/wp\/v2\/media?parent=4534"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lode.uno\/linux-man\/wp-json\/wp\/v2\/categories?post=4534"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lode.uno\/linux-man\/wp-json\/wp\/v2\/tags?post=4534"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}