[sane-devel] Setting backend capabilities

Alexander Pevzner pzz at apevzner.com
Sun Mar 8 09:14:12 GMT 2020


> Way back when some of the SANE developers were working on the draft for
> Version 2 of the SANE Standard they realised so much and added a TODO[1]
> for a SANE_CAP_AUTO_POLL capability.  The draft has been in "coma" since
> Autumn 2003 ... and that capability was not added.

The SANE 1.0 standard was written in assumption, that SANE will be 
mostly used by interactive applications, so for option this is enough to 
know it's user-friendly name and set of allowed values, also in a 
user-friendly form.

However with this model it is quite difficult to implement a 
non-interactive scanning applications, like eSCL server (AirSane), 
IPP-scan server and so on. If you look to AirSane source, it has to 
guess if scanner has duplex ADF or not, because there is no standard way 
to detect it, and different backends export this information in a 
different way.

Fortunately, no we have at least two written specifications that 
formally define a software model of scanner device: the IPP-scan 
standard from PWG and the WS-Scan specification from Microsoft/W3C. If 
we ignore such unimportant things, as particular wire format of requests 
and replies, these two specifications define quite similar software 
models of scanner device.

I think, the next version of SANE standard, if it will ever be written, 
should take these specifications into consideration - I mean, a set of 
common well-known options and their possible values, common error codes 
and so on.


	Wishes, Alexander Pevzner (pzz at apevzner.com)

More information about the sane-devel mailing list