[sane-devel] SANE2 proposal
Frank Zago
fzago at greshamstorage.com
Sun Apr 14 23:51:21 BST 2002
Hi Oliver,
Here are my comments:
- section 4.2.1
Is there any reason why SANE_Word can't be suppressed? SANE_Word and
SANE_int are implemented the same and have close definitions.
- section 4.2.7 (status type).
The panasonic scanners scan a whole page before giving it back to the
scanner. ie they must be able to cache the page. However if a high
resolution is used, the internal memory isn't enough, the scan rejects
the scan command with an insufficient memory error. SANE1/2 does not
have a error status for that. Returning SANE_STATUS_NO_MEM is
misleading because it is not the backend which is out of memory. What
about adding a SANE_STATUS_SCANNER_OOM? Or adding several reserved
error code for use by the backend (with a corresponding sane_strstatus()
function)?
- section 4.2.9
SANE_OPTION_IS_SETTABLE(cap) should add that the option must also be
active.
- section 4.2.9
A new macro SANE_OPTION_IS_GETTABLE(cap) could return SANE_TRUE is the
option is active an readable. I needed one in my backend tester. Maybe
some frontend also need it.
#define SANE_OPTION_IS_GETTABLE(cap) (((cap) & (SANE_CAP_SOFT_DETECT |
SANE_CAP_INACTIVE)) == SANE_CAP_SOFT_DETECT)
- section 4.3.8
For SANE FRAME RAW, and possibly others, what is the endianness to use?
- Some scanner can find and decode 5 or 10 barcodes per sheet. How can
such a scanner transfer a decoded barcode? With a MIME type?
- I'd like to have all the SANE functions (sane_init, sane_open, ...)
declared in a structure. Only that structure would be exported. eg:
static ... sane_open(...)
static ... sane_init(...)
backend_desc backendname_desc {
/* backend entry points */
sane_open,
sane_init,
...
/* Backend info */
"backendname",
0, /* backend capabilities */
6544, /* backend version */
...
/* Reserved fields */
NULL,
...
0,
...
} backendname_desc;
Some of the info here are from the SANE_Device structure. I don't think
they belong there.
I know that would be a big change.
- well known options (eg "source") and well know option values (eg
"Flatbed") should have a corresponding #define to avoid mispellings
and ease translations.
- the .desc format description should be added too, and expanded. I'd
like to see an fcc id field.
Frank.
More information about the sane-devel
mailing list