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
Henning Geinitz
3c7567cb2b
Added sane USB interface.
...
Henning Meier-Geinitz <henning@meier-geinitz.de>
2001-08-11 13:12:39 +00:00
Henning Geinitz
06261c437d
Updated sanei_thread functions (from Yuri Dario) and made clear that
...
they shouldn't be used directly.
Henning Meier-Geinitz <henning@meier-geinitz.de>
2001-08-11 09:46:53 +00:00
Henning Geinitz
2c893b06b4
Use syslog.h instead of sys/syslog.h.
...
Henning Meier-Geinitz <henning@meier-geinitz.de>
2001-07-18 18:42:05 +00:00
Oliver Rauch
590e9ea4b2
2001-06-13 Oliver Rauch <Oliver.Rauch@rauch-domain.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
2001-06-13 16:16:09 +00:00
Oliver Rauch
69edd5604f
2001-06-09 Oliver Rauch <Oliver.Rauch@rauch-domain.de>
...
* sanei/sanei_scsi.c:
applied patch by Douglas Gilbert <dgilbert@interlog.com>
that solves compilation problem about:
storage size of `ssid' isn't known
2001-06-09 19:59:47 +00:00
Henning Geinitz
7716aa8409
Use local assert.h file to fix problems with AIX and shared libraries.
...
Henning Meier-Geinitz <henning@meier-geinitz.de>
2001-06-04 20:19:32 +00:00
Henning Geinitz
2e9c025c4d
Fixed some small bugs concerning error reporting.
...
Henning Meier-Geinitz <henning@meier-geinitz.de>
2001-06-04 11:09:55 +00:00
Henning Geinitz
021a47f2e1
Fixed compilation issue for OS/2 in sanei_scsi_find_devices.
...
Henning Meier-Geinitz <henning@meier-geinitz.de>
2001-05-31 17:32:38 +00:00
Oliver Rauch
a917e2d039
2001-05-30 Oliver Rauch <Oliver.Rauch@rauch-domain.de>
...
* 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.
2001-05-30 17:00:09 +00:00
Oliver Rauch
9225208519
2001-05-27 Oliver Rauch <Oliver.Rauch@rauch-domain.de>
...
* 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.
2001-05-27 21:01:46 +00:00
Oliver Rauch
bd82fa1557
Oliver Rauch:
...
cosmetic changes in just applied changes to sanei/sanei_scsi.c
2001-05-27 10:26:20 +00:00
Oliver Rauch
eb8916c209
2001-05-27 Oliver Rauch <Oliver.Rauch@rauch-domain.de>
...
* 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).
2001-05-27 10:24:04 +00:00
Henning Geinitz
fdf421eb8c
Added target "uninstall".
...
Henning Meier-Geinitz <henning@meier-geinitz.de>
2001-05-21 20:20:54 +00:00
Henning Geinitz
a50e1d4d4c
Used #include "../include/sane/...".
...
Henning Meier-Geinitz <henning@meier-geinitz.de>
2001-05-13 16:25:07 +00:00
Henning Geinitz
951a6849fb
Fixed some memory leaks. Used #include "../include/sane/...".
...
Henning Meier-Geinitz <henning@meier-geinitz.de>
2001-05-13 16:16:59 +00:00
Oliver Rauch
2246581236
2001-05-07 Oliver Rauch <Oliver.Rauch@rauch-domain.de>
...
* 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
2001-05-07 16:05:23 +00:00
Henning Geinitz
69fe89db99
Added support for Solaris sgen SCSI driver (patch from Juergen Keil
...
<jk@tools.de>).
2001-05-01 21:08:45 +00:00
Henning Geinitz
308616ddd3
Don't free memory that's not alloced
2001-04-29 19:42:19 +00:00
Henning Geinitz
a1cacda510
Avoid reading uninitialized memory when checking SANE_CONFIG_DIR
2001-04-29 19:07:34 +00:00
Petter Reinholdtsen
ff4abeae23
Fix memleak when using env SANE_CONFIG_DIR.
2001-04-29 17:01:30 +00:00
Petter Reinholdtsen
b61f823334
Avoid reading uninitialized memory.
2001-04-29 16:51:09 +00:00
Henning Geinitz
a25522fed4
Fixed memory leak: vendor wasn't freed.
...
2001-04-29 Henning Meier-Geinitz <henning@meier-geinitz.de>
2001-04-29 16:12:26 +00:00
Petter Reinholdtsen
d4d1ed211d
Avoid reading uninitialized memory.
2001-04-29 13:00:43 +00:00
Petter Reinholdtsen
165e106361
Make sure net backend release all memory when finished.
2001-04-29 11:11:07 +00:00