Gerhard Jaeger
25a38b2739
improved support of pthreads, changed behaviour of sanei_thread_kill(),
...
added functions sanei_thread_sendsig() and sanei_thread_get_status()
changed behaviour of sanei_thread_waitpid(), changed parameters
of sanei_thread_begin()
2003-10-08 20:31:15 +00:00
Henning Geinitz
3565c78d2f
More verbose help messages for --enable-fork-process. Print message about
...
pthread support after all the tests. If libpthread isn't available, try if libc
supports pthreead_*. Use macro USE_PTHREAD to check if threads are used in the
code.
2003-10-07 11:28:03 +00:00
Gerhard Jaeger
81eaf06a10
* aclocal.m4 acinlcude.m4 configure configure.in: modified checks for
...
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
2003-10-07 07:38:37 +00:00
Henning Geinitz
3cc8ce04e2
Made some internal functions static.
2003-10-06 17:39:19 +00:00
Gerhard Jaeger
39044887ca
* aclocal.m4 configure configure.in: added checks for pthread.h and
...
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
2003-10-05 16:00:30 +00:00
Frank Zago
3bda0d541d
Port to Cygwin.
2003-09-24 03:41:48 +00:00
Henning Geinitz
6210c9a282
Actually return 0 if there is no second quotation mark.
2003-09-21 08:57:21 +00:00
Henning Geinitz
2cf12103d8
Added support for the MacOS X IOKit SCSI Architecture Model API. Added support
...
for Firewire scanners. Patch from Guy Brooker <guy_brooker@mac.com>.
2003-08-21 10:33:34 +00:00
Henning Geinitz
a4e842d946
Minor cleanup from the jpeg move. Reverted frontend link order.
2003-07-26 21:40:06 +00:00
Henning Geinitz
6329fa602d
Added GPL + SANE exception license.
2003-07-26 17:49:10 +00:00
Peter Fales
aa9845ccd1
Move jpeg files to sanei
2003-07-26 17:07:36 +00:00
Peter Fales
94b53bbd61
Put back changes that weren're ready to commit yet
2003-07-26 03:34:50 +00:00
Peter Fales
afb823152a
Move sanei_jpeg.c from backend directory to sanei directory
2003-07-26 03:04:41 +00:00
Abel Deuring
ee430a8af6
2003-07-17 Abel Deuring <a.deuring@satzbau-gmbh.de>
...
* sanei/sanei_scsi.c: improved SCSI error handling in
sanei_scsi_cmd2 for FREEBSD_CAM_INTERFACE
2003-07-17 20:35:25 +00:00
Henning Geinitz
8007efa1a3
Enable close_on_exec in sanei_usb_open.
2003-07-17 15:05:14 +00:00
Jochen Eisinger
5acbad270b
2003-06-05 Jochen Eisinger <jochen.eisinger@gmx.de>
...
* 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
2003-06-06 09:52:04 +00:00
Henning Geinitz
fcd3e424a8
Fixed C++-like code for MacOS X (patch from Mattias Ellert
...
<mattias.ellert@tsl.uu.se>).
2003-06-04 18:55:38 +00:00
Henning Geinitz
30812eaa05
Added SCSI support for MacOS X (from Mattias Ellert
...
<mattias.ellert@tsl.uu.se>).
2003-04-30 23:02:17 +00:00
Henning Geinitz
74de40f1da
Removed Frank's memleak fix. The memory is allocated only once in
...
sanei_usb_init, not in sanei_usb_open. So releasing it in sanei_usb_close
breaks backends that open devices more than once.
2003-04-20 14:59:07 +00:00
Frank Zago
a188d9febc
Added some debug traces.
2003-04-19 03:58:44 +00:00
Frank Zago
bce2146bd0
Fixed memleak.
2003-04-19 03:57:06 +00:00
Henning Geinitz
967a3b2a37
Fixed some warnings.
2003-04-02 22:41:54 +00:00
Henning Geinitz
3e84a1d216
Removed unnecessary variable.
2003-04-02 22:14:57 +00:00
Henning Geinitz
90fa11913c
Added a function to print the buffer contents for the read and write
...
functions. Fixed some DBGs. Fixed a wrong return value.
2003-04-02 18:05:01 +00:00
Rene Rebe
a6858b5057
Support for interrupt endpoint reads:
...
/** 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
*
*/
2003-03-24 01:36:27 +00:00
Henning Geinitz
8ea8fe0223
Increased stacksize for thread. Patch from Franz Bakan <fbakan@gmx.net>.
2003-03-16 11:05:11 +00:00
Henning Geinitz
293a629d7c
OS/2 specific changes: memory for SRB now is allocated using _tcalloc()
...
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>.
2003-03-16 11:04:19 +00:00
Henning Geinitz
646fbd05bc
Wait for the completion of all SCSI commands in sanei_scsi_flush_all_extended
...
(Linux). Without this fix, especially long running commands and command
queuing would cause memory corruption if the buffer was invalid after the
flush command.
2003-03-09 19:22:43 +00:00
Henning Geinitz
df7d2cda19
Added function sanei_check_value in addition to the existing
...
sanei_constrain_value. It checks if the value of a sane option fits into the
constraint but doesn't try to do any fixing/rounding.
2003-03-04 22:37:39 +00:00
Henning Geinitz
6df6af8d0e
Round a word list value to the nearest entry (if necessary). Code was taken
...
from canon backend.
2003-02-26 18:52:55 +00:00
Henning Geinitz
08af36a2e8
Call sanei_usb_init only once.
2003-02-22 15:45:51 +00:00
Henning Geinitz
5d4e2220a0
Check all acceptable interfaces instead of using the first one.
2003-02-19 19:38:26 +00:00
Henning Geinitz
b625db341a
usb_clear_halt should only be called in libusb mode.
2003-02-18 20:14:08 +00:00
Henning Geinitz
e3ceee04be
Check the IP address of the remote host before any communication occurs.
...
Check for a errors before trsuting values that came from remote. Make sure
that strings are 0-terminated.
2003-02-09 11:23:41 +00:00
Jochen Eisinger
705218fb1a
2003-01-25 Jochen Eisinger <jochen.eisinger@gmx.de>
...
* 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)
2003-01-26 14:13:04 +00:00
Jochen Eisinger
59071c8d43
2003-01-25 Jochen Eisinger <jochen.eisinger@gmx.de>
...
* 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)
2003-01-26 13:43:32 +00:00
Henning Geinitz
c03e019f1c
Scanning for devices is now done in sanei_usb_init instead of every time when
...
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.
2003-01-22 16:54:14 +00:00
Henning Geinitz
bf3553aacd
Fixed regeneration of libsanei.a when the object files were changed.
2003-01-22 14:48:42 +00:00
Henning Geinitz
cb2e483d60
Disable the new Linux SG interface for sparc64 to work-around 32 bit userland
...
/ 64 bit kernel problems.
2003-01-17 12:21:16 +00:00
Henning Geinitz
8ea589819e
Don't call usb_clearhalt and usb_set_altinterface to avoid errors on Mac OS X.
2003-01-15 14:27:54 +00:00
Jochen Eisinger
2cd6ff39ac
2002-01-11 Jochen Eisinger <jochen.eisinger@gmx.de>
...
* sanei/sanei_pa4s2.h: prepared sanei for use with fork()ing
backends
2003-01-11 19:47:20 +00:00
Henning Geinitz
d2d3aaf90d
Comment out resetep at sane_close. This function sets th USB data toggle only
...
on the host side.
2003-01-10 16:44:53 +00:00
Henning Geinitz
d9041acb54
Explicitely set first configuration. When claiming the interface, use the
...
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.
2002-12-30 13:51:10 +00:00
Abel Deuring
a690b94687
fixed an error in sanei_scsi.c from my last commit
...
Abel
2002-12-07 22:17:27 +00:00
Abel Deuring
aa85bb0192
sanei/sanei_scsi.c: improved error handling for Linux
2002-12-07 18:10:45 +00:00
Karl Heinz Kremer
574cea3bcb
Use endpoint address with directional information instead of just the
...
endpoint reference. This caused problems on Darwin systems.
2002-11-03 23:43:03 +00:00
Henning Geinitz
a99e4f1ecd
Really check for bulk_out ep when writing.
2002-10-15 08:42:42 +00:00
Gerhard Jaeger
ff6e86ef36
Major update to support Canon CIS scanner N670/676U and N650/656U
2002-09-28 11:31:53 +00:00
Abel Deuring
9659512302
sanei/sanei_scci.c doc/sanei-scsi.man:
...
default timeout for SCSI commmands is now 120 seconds; added
the environment variable SANE_SCSICMD_TIMEOUT to override
the default value.
Abel
2002-09-04 22:13:44 +00:00
Frank Zago
6dc27bd66d
Fixed a warning.
2002-08-23 02:09:05 +00:00
Henning Geinitz
433a923082
Made libusb_timeout static.
2002-07-27 20:33:18 +00:00
Henning Geinitz
d9b5733f67
Check if file is already closed.
...
Henning Meier-Geinitz <henning@meier-geinitz.de>
2002-07-17 17:56:26 +00:00
Henning Geinitz
278709d3d4
Made buffer const SANE_Byte * in sanei_usb_bulk_write(). Try to call
...
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>
2002-07-14 16:31:14 +00:00
Henning Geinitz
9e4ad2dcc9
Used dn (device number) instead of fd (file descriptor) to avoid
...
confusion. Updated doxygen documentation.
Henning Meier-Geinitz <henning@meier-geinitz.de>
2002-07-03 19:48:45 +00:00
Henning Geinitz
e3476bd389
Added support for libusb.
...
Henning Meier-Geinitz <henning@meier-geinitz.de>
2002-07-03 14:07:44 +00:00
Henning Geinitz
bc16d554dc
Set buffer size to 64 kB for SOLARIS_USCSI_INTERFACE (reported by Ed Randall
...
<ed.randall@ingenotech.com>).
Henning Meier-Geinitz <henning@meier-geinitz.de>
2002-06-27 16:04:21 +00:00
Henning Geinitz
1c87df203c
Fixed possible segfault.
...
Henning Meier-Geinitz <henning@meier-geinitz.de>
2002-05-30 19:26:40 +00:00
Henning Geinitz
a1df2d83f5
Explicitely initialize vendorID and productID.
...
Henning Meier-Geinitz <henning@meier-geinitz.de>
2002-05-30 19:23:22 +00:00
Henning Geinitz
477e9c6334
Fixed request-sense handling for OpenStep (from Oliver Schirrmeister
...
<oschirr@abm.de>).
Henning Meier-Geinitz <henning@meier-geinitz.de>
2002-05-28 18:57:26 +00:00
Henning Geinitz
bc0c6449f0
Fixed sanei_scsi_cmd2() for OPENSTEP (from Oliver Schirrmeister
...
<oschirr@abm.de>).
Henning Meier-Geinitz <henning@meier-geinitz.de>
2002-05-22 18:09:33 +00:00
Henning Geinitz
00e8ac71fd
Use O_NONBLOCK when opening an sg device under Linux. Return
...
SANE_STATUS_DEVICE_BUSY if EBUSY. Check for buffer==0 for OS/2.
Henning Meier-Geinitz <henning@meier-geinitz.de>
2002-04-13 18:56:39 +00:00
Petter Reinholdtsen
964fd755bb
Avoid warning on Solaris. Correct type of second argument to
...
sanei_usb_write_bulk() from (char*) to (SANE_Byte*).
2002-04-09 10:17:16 +00:00
Henning Geinitz
63bfda58be
Check that a SANE_Bool variable can only be SANE_TRUE or SANE_FALSE.
...
Henning Meier-Geinitz <henning@meier-geinitz.de>
2002-04-06 20:42:07 +00:00
Gerhard Jaeger
378195fd16
Updated to new mail-address and backend url
2002-03-26 08:35:59 +00:00
Henning Geinitz
febf58f64e
Set allocated memory to 0 to avoid delivering garbage to the frontend.
...
Henning Meier-Geinitz <henning@meier-geinitz.de>
2002-03-20 20:40:58 +00:00
Abel Deuring
4f70616c01
configure.in, configure, include/sanei/config.h.in
...
sanei/sanei_scsi.c: Added HAVE_SG_TARGET_STATUS for compatibility
with old Linux sg.h versions
Abel
2002-03-10 14:34:11 +00:00
Abel Deuring
eb0e878a0f
sanei/sanei_scsi.c: fixed a typo (Sg_scsi_id -> SG_scsi_id)
...
Abel
2002-03-07 20:45:52 +00:00
Henning Geinitz
644a271538
Fixed some DBG format warnings.
...
Henning Meier-Geinitz <henning@meier-geinitz.de>
2002-02-14 19:50:10 +00:00
Henning Geinitz
5765809cf9
Removed load_values and save_values as they are only used in sane_frontends.
...
Henning Meier-Geinitz <henning@meier-geinitz.de>
2002-02-14 19:44:39 +00:00
Henning Geinitz
e3cbda553c
Added global list of file patterns for "make distclean". Some "make clean"
...
and "make distclean" cleanup and additions.
Henning Meier-Geinitz <henning@meier-geinitz.de>
2002-02-13 20:48:29 +00:00
Henning Geinitz
a38aa93608
If get_vendor_product fails, don't try again for every device file.
...
Henning Meier-Geinitz <henning@meier-geinitz.de>
2002-02-10 18:39:48 +00:00
Abel Deuring
6a57e91a51
* sanei/sanei_scsi.c: Added checks to the Linux part of
...
sanei_scsi_open_extended, if an SG device file is being
opened
Abel
2002-02-09 16:37:21 +00:00
Henning Geinitz
a997e240fc
Make sure that waitpid returns something usefull on OS/2. Avoids the "Unknown
...
SANE status code 128" errors.
Henning Meier-Geinitz <henning@meier-geinitz.de>
2002-02-05 22:04:26 +00:00
Abel Deuring
7fbdae8348
sanei/sanei_scsi.c: set timeout value for all operating
...
systems to 1 minute. The timeout value is now derived from
the macro SANE_SCSICMD_TIMEOUT.
Abel
2002-01-20 15:53:22 +00:00
Henning Geinitz
8757ebfb32
Made documentation doxygen-compatible. Move comments from sanei_config.c to
...
sanei_config.h.
Henning Meier-Geinitz <henning@meier-geinitz.de>
2002-01-19 22:32:08 +00:00
Gerhard Jaeger
285cf40f44
Updated files mainly because of the translation stuff and
...
doxygen conform comments.
2002-01-17 19:48:40 +00:00
Gerhard Jaeger
1737ac83c6
Updated sanei_lm983x.[ch]...
2002-01-12 14:00:58 +00:00
Henning Geinitz
d2cf6a57e1
Added #include <sys/types.h> (OS/2 complains otherwise).
...
Henning Meier-Geinitz <henning@meier-geinitz.de>
2002-01-11 18:03:27 +00:00
Gerhard Jaeger
5d71d97a6b
Added LM983x library functions
2002-01-10 19:36:06 +00:00
Henning Geinitz
c1b967a5d6
Added target "dist". Fixed .PHONY.
...
Henning Meier-Geinitz <henning@meier-geinitz.de>
2002-01-08 19:06:54 +00:00
Henning Geinitz
2e6cf0663e
Added DBG message that warns if the read buffer
...
is going to be deleted (data loss).
Henning Meier-Geinitz <henning@meier-geinitz.de>
2002-01-04 21:25:08 +00:00
Henning Geinitz
c6cac9b284
Added support for the PowerVision 8630 chip, a USB to parallel
...
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>
2002-01-03 19:27:35 +00:00
Henning Geinitz
d9201789aa
Added support for USB control messages (patch from Marcio Luis
...
Teixeira <marciot@holly.colostate.edu>).
Henning Meier-Geinitz <henning@meier-geinitz.de>
2002-01-03 19:18:27 +00:00
Abel Deuring
1909b7f500
Replaced the configure option --enable-diretio with --enable-scsi-directio
...
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)
2001-12-28 13:26:12 +00:00
Henning Geinitz
59ec0e969a
Removed warning: `dev_io_fd' defined but not used. Variable used only by
...
FreeBSD. Added test for FreeBSD. Patch from Stephen Torri <storri@ameritech.net>.
Henning Meier-Geinitz <henning@meier-geinitz.de>
2001-12-01 19:37:23 +00:00
Henning Geinitz
c91858cf87
OS/2 changes: Removed semaphore code and
...
increased MAX_DATA to 64k (from "Franz Bakan" <fbakan@gmx.net>).
Henning Meier-Geinitz <henning@meier-geinitz.de>
2001-11-22 20:31:18 +00:00
Henning Geinitz
15f7f90567
Added sanei_thread for OS/2 portability.
...
Henning Meier-Geinitz <henning@meier-geinitz.de>
2001-11-21 20:44:41 +00:00
Abel Deuring
e4867cd08d
Removed the #ifdef SG_IO/#endif around #include linux_sg3_err.h in
...
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
2001-11-11 22:49:51 +00:00
Abel Deuring
b415404a29
sanei_scsi.c: patches for the Linux part committed: better error handling;
...
the residual return by the SG driver v§ is now ignored
sharp.c: Now retries SCSI READ commands, if sanei_scsi_rweq_wait returns
STATUS_BUSY
Abel
2001-11-11 15:56:50 +00:00
Henning Geinitz
7c14157d0b
Fixed debug messages.
...
Henning Meier-Geinitz <henning@meier-geinitz.de>
2001-11-07 20:26:06 +00:00
Henning Geinitz
de16f98b44
Fixed vendor/device detection for Linux versions >= 2.4.13.
...
Henning Meier-Geinitz <henning@meier-geinitz.de>
2001-10-26 21:24:49 +00:00
Henning Geinitz
7cf0f78888
Added debug output (based on patch from Jochen Eisinger <jochen.eisinger@gmx.de>).
...
Henning Meier-Geinitz <henning@meier-geinitz.de>
2001-10-12 18:29:35 +00:00
Jochen Eisinger
a2f4f3f1d9
2001-10-10 Jochen Eisinger <jochen.eisinger@gmx.de>
...
* sanei/sanei_wire.c: replaced memcpy with memmove
2001-10-11 22:36:06 +00:00
Henning Geinitz
e4749d5472
Removed some remainings of the USB merge.
...
Henning Meier-Geinitz <henning@meier-geinitz.de>
2001-09-21 11:31:21 +00:00
Henning Geinitz
365d3f2e64
Fixed detection of SCSI devices that return
...
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>
2001-09-21 11:29:13 +00:00
Henning Geinitz
ca173d9102
Moved the function to check the "usb VENDOR PRODUCT" config
...
lines to sanei_usb to avoid linking problems.
Henning Meier-Geinitz <henning@meier-geinitz.de>
2001-09-05 19:48:24 +00:00
Henning Geinitz
4b0a473941
Added FreeBSD support.
...
Henning Meier-Geinitz <henning@meier-geinitz.de>
2001-09-05 16:49:51 +00:00
Henning Geinitz
a9218c2311
Fixed minor bugs in debug output and documentation.
...
Henning Meier-Geinitz <henning@meier-geinitz.de>
2001-08-26 10:39:54 +00:00
Henning Geinitz
36f00f522b
Added (limited) support for FreeBSD.
...
Henning Meier-Geinitz <henning@meier-geinitz.de>
2001-08-16 21:20:20 +00:00
Henning Geinitz
d9512c114a
Added support for searching USB devices ("usb vendor product").
...
Henning Meier-Geinitz <henning@meier-geinitz.de>
2001-08-11 13:17:57 +00:00