sane-dll manpage

Search topic Section

sane-dll(5)		 SANE Scanner Access Now Easy		   sane-dll(5)

       sane-dll - SANE dynamic backend loader

       The  sane-dll library implements a SANE (Scanner Access Now Easy) back-
       end 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
       libraries,  the backends may be loaded at runtime.  In the latter case,
       adding support for a new backend simply involves installing  the	 rele-
       vant library in /usr/lib*/sane and adding an entry to the dll.conf con-
       figuration file.	 In other words, no applications need to  be  modified
       or recompiled to add support for new devices.

       This backend expects device names of the form:


       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
       backend	listed last in the configuration file (see below) or the first
       pre-loaded backend (if any).

       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
       everything after a hash mark (#). A sample configuration file is	 shown

	      # this is a comment

       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	 back-
       end 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
       entries 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
       accessed	 if  the  device  name is known, it just doesn't appear on the

	      The list of aliased or hidden backends.

	      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 config-
	      uration 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	 sepa-
	      rator 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

	      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.

	      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

       sane(7), scanimage(1), sane-"backendname"(5)

       David Mosberger

sane-backends 1.0.18		  4 Dec 2002			   sane-dll(5)