pthread support, added switch --enable-fork-process which toggles
between the usage of fork and pthread, set the default behaviour to
pthread usage on Darwin
* include/sane/config.h: added the HAVE_LIBPTHRAD stuff
* sanei/sanei_thread.c include/sane/sanei_thread.h: fixed compilation issue
on OS/2, added support for fork too, so that we can use sanei_thread
functions in any case.
* backend/plustek.[ch]: changes due to the sanei_thread-lib work
added linker option -lpthread if pthread.h is found
* include/sane/config.in.h: added HAVE_PTHREAD_H
* sanei/sanei_thread.c include/sane/sanei_thread.h: added pthread_
functions to library, so every backend is able to use either fork or
pthread for its reader-process - see plustek backend for example
* backend/plustek.h backend/plustek.c: added sanei_thread stuff to support
threading on MacOS X
* backend/plustek_pp*: some cleanup
* include/sane/sanei_pa4s2.h, sanei/sanei_pa4s2.c: New sanei_pa4s2
version supporting both raw IO and libieee1284. If you don't
have libieee1284 installed, you need to enable raw IO when
running configure
/** Initiate a interrupt transfer read.
*
* Read up to size bytes from the interrupt endpoint from the device to
* buffer. After the read, size contains the number of bytes actually read.
*
* @param dn device number
* @param buffer buffer to store read data in
* @param size size of the data
*
* @return
* - SANE_STATUS_GOOD - on succes
* - SANE_STATUS_EOF - if zero bytes have been read
* - SANE_STATUS_IO_ERROR - if an error occured during the read
* - SANE_STATUS_INVAL - on every other error
*
*/
instead of allocating on stack to avoid crossing 64k borders due to
restrictions of 16-bit device-driver. Cosmetic changes and some casts to
reduce compiler-warnings. Patch from Franz Bakan <fbakan@gmx.net>.
(Linux). Without this fix, especially long running commands and command
queuing would cause memory corruption if the buffer was invalid after the
flush command.
* sanei/sanei_pa4s2.c: added some #ifdefs to make it compile with
the Intel C++ Compiler (icc). The icc cannot expand assembler
inline macros (at least not with -ip)
* sanei/sanei_pa4s2.c: added some #ifdefs to make it compile with
the Intel C++ Compiler (icc). The icc cannot expand assembler
inline macros (at least not with -ip)
sanei_usb_find_devices is called. Also only devices that really exist are
opened. These changes fixe the slow detection of devices on systems using
devfs or old scanner drivers.
interface number from bInterfaceNumber. Explicitely set the alternative
setting. When closing, call clear_halt, and reset_ep, and release_interface
explicitley. On errors in write/read, call clear_halt.
usb_find_busses only once. Make sure that already opened devices aren't opened
again. Exit libusb scan loop if one device is found. Make error values more
expressive. Check for missing config descriptors before using them to avoid
segfaults.
Henning Meier-Geinitz <henning@meier-geinitz.de>
converter used in many scanners (patch from from Marcio Luis Teixeira
<marciot@holly.colostate.edu>). Fixed sanei_thread Makefile.in entry.
Henning Meier-Geinitz <henning@meier-geinitz.de>
and --enable-parport-directio.
NOTE: While I know, what the SCSI direct IO means, I have no idea, what
direct IO means in the context of the parport, so somebody needs to add
some useful description about parport direct io to configure.in and to
README (or README.linux)
sanei_scsi.c. Now causes a compiler error, because some macros defined there
are used for the old SG interace too.
Thanks to Henning for discovering the bug
Abel
device strings (vendor, product) consisting of spaces.
sanei_scsi_req_enter2 was changed to copy the CDB and data before
sending it to the device. Both patches are from Abel Deuring.
Henning Meier-Geinitz <henning@meier-geinitz.de>
* sanei/sanei-scsi.c: Corrected bug in sanei_scsi_cmd2 for IRIX:
- scsi_req.ds_senselen has been set to sizeof pointer, is set
to 128 bytes now (1024 bytes does not work)
- sensebuf is cleared before scsi command is executed
- sensehandle always called when it exists and an error occurs
* sanei/sanei_scsi.c:
applied patch by Douglas Gilbert <dgilbert@interlog.com>
that solves compilation problem about:
storage size of `ssid' isn't known
* Problem with SOLARIS_INTERFACE (change from 2001-05-27)
had an other reason than the scsi buffer size (MAX_DATA).
Changed scsi buffer size for solaris sg driver
(USE == SOLARIS_INTERFACE in sanei_scsi.c) again from 32 KB
to 128KB.
* changed scsi buffer size for solaris sg driver
(USE == SOLARIS_INTERFACE in sanei_scsi.c) to 32 KB
again because it does not work for at least one system
with 64KB.
* sanei/sanei_scsi.c: changed scsi buffer size (MAX_DATA)
to 128KB for: SOLARIS_INTERFACE, SOLARIS_SG_INTERFACE,
SOLARIS_USCSI_INTERFACE and IRIX_INTERFACE
(some scanners have problems with the predefined 32KB
buffer size, these systems should work with 128KB
but we need to test if no problems do occur).
* applied a patch by Douglas Gilbert to sanei_scsi.c
it solves the Problem that the scanner is not
found on linux systems when the order of the
scsi devices is not coverd by the order of
devices listed by /proc/scsi/scsi, it prefers
new kernel 2.4 methods when available
* NEWS: Added date of release.
* TODO: Removed entries about PATH_MAX, sanei_scsi_find_devices, and
shm.h. Added entry about the necessity to check HAVE_SYS_SHM_H.
* configure configure.in include/sane/config.h.in: Default to
--enable-warnings again. Don't set "-ansi" for OS/2. Test for
sys/shm.h.
* backend/GUIDE: Moved to doc/backend-writing.txt.
* doc/backend-writing.txt: New file (moved from backend/GUIDE).
Added comments about sanei-backend.h and PATH_MAX.
* include/sane/sanei_backend.h: Added define for PATH_MAX (if
necessary).
* sanei/sanei_scsi.c: Implemented sanei_scsi_find_devices for FreeBSD
(from ports@FreeBSD.org).
* tools/Makefile.in: Use INSTALL_SCRIPT instead of INSTALL_PROGRAM for
sane-config (from ports@FreeBSD.org).
* configure configure.in: Added test for /dev/urandom and
index() in string.h or strings.h
* backend/net.c: Fixed SANE_NET_AUTHORIZE call handling
* doc/net.tex: Clarified definition of SANE_NET_AUTHORIZE, added
definition of MD5 authorization
* doc/sane.tex: Upgraded to version 1.0.2, changed definition of
SANE_MAX_USERNAME_LEN & SANE_MAX_PASSWORD_LEN to 128 chars
* doc/saned.man: added description of SANE_CONFIG_DIR/saned.users
* doc/scanimage.man: added description of ~/.sane/pass and
--accept-md5-only
* frontend/saned.c: implemented user authorization on a per backend
basis
* frontend/scanimage.c: fixed bug (option -b wasn't present)
implemented auth_callback
* include/sane/sane.h: changed definition of SANE_MAX_USERNAME_LEN &
SANE_MAX_PASSWORD_LEN to 128 chars
* lib/Makefile.in sanei/Makefile.in: updated Makefiles
* sanei/sanei_constrain_value.c: If constraint_type is
SANE_CONSTRAINT_RANGE and quantization is used, the results may
be outside the limits of the range because quantization uses the
orginal value. Fixed by doing quantization with the already
checked value.
if checked option is a range and the value is out of
range the value is now corrected to the minimum or maximum
allowed value and SANE_INFO_INEXACT is set.
The old version returned with an error. This caused problems
when the value was a little bit out of range because of rounding
errors.
Oliver Rauch
* TODO: Included TODO file for 1.0.4.
* sanei/sanei_ab306.c: Removed some comiler warnings.
* doc/sane.tex: Set \date to the date of the last change (not
the date of running latex (\today))
* frontend/xscanimage.c: Fixed image size overrun (>ca. 400 MB).
Removed some compiler warnings.
* doc/scanimage.man doc/saned.man: updated description of password
file
* sanei/sanei_auth.c frontend/saned.c frontend/scanimage.c: replaced
index() by strchr(). Changed style of password file
* backend/net.c: the net backend now prepends net:host: to the
resource before calling the auth_callback function
* lib/md5.c include/md5.h: added md5 functions from GNU textutils
* include/sane/sanei_auth.h sanei/sanei_auth.c: implemented new
SANE interface for user authorization using MD5 digest