The code flow has been modified to avoid unnecessary probing
and double opening of a device. There's no more delay before
opening a networked scanner and the whole scan process begins
much earlier.
Accepted device names are:
net:ipaddress
net:hostname
libusb:vendor:product
pio:0xnnn
plus any form supported by the SANE scsi and usb
routines.
The code has been tested on network, scsi and libusb. Unfortunately
I do not have any parallel port based scanner.
The probing code has been streamlined and is now more maintenable.
The backend will probe when required and the get_devices hook can
be called multiple times. Transfer buffers are now selected based
on the connection type.
Some subroutines have been moved from epson2.c to epson2-ops.c and
there's also a temporary fix for the networking code.
This is work in progress but should work.