Wykres commitów

341 Commity (f152b40faff5a1ebb5bfb011c11a60ecd9e6805b)

Autor SHA1 Wiadomość Data
Olaf Meeuwissen efb2eb7251 Add sanei_ir.h from the directory it lives in
Fixes `make dist` target.
2015-09-19 13:39:37 -04:00
Luiz Angelo Daros de Luca 8434ea9162 Define IO_SUPPORT_MISSING when inb() and outb() aren't in <sys/io.h>
Fixes link issues on OpenWRT w/ musl on MIPS.
2015-09-19 13:39:37 -04:00
m. allan noah 7566619e53 rebuild with automake 1.14.1 2015-08-31 20:58:30 -04:00
Klaus Kämpf 5337625f3a New backend pieusb
This commit adds support for (slide) scanners based
on Pacific Image Electronics (PIE) oem scan hardware.

It is known to match the following USB scanners

  PIE PowerSlide 3600       Untested
  PIE PowerSlide 3650       Untested
  PIE PowerSlide 4000       Untested
  PIE PowerSlide 5000       Untested
  Reflecta CrystalScan 7200 Untested
  Reflecta ProScan 7200     Untested
  Reflecta DigitDia 4000    Untested
  Reflecta DigitDia 5000    Untested
  Reflecta DigitDia 6000    Ok

The backend is based on work by Jan Vleeshouwers and Michael Rickmann.

Special thanks to Stéphane Voltz for the code review.

Add pieusb to backend/Makefile.am
Add pieusb to doc/Makefile.am
Add missing sanei/sanei_ir.c, sanei/sanei_ir.h, adapt Makefile.am
configure.ac: Add 'pieusb' to ALL_BACKENDS
ChangeLog: Add pieusb as new backend
Mark infrared functions as internal: sane_ir_* -> sanei_ir_*
sanei/sanei_ir.c: fix memory leaks
pieusb: rename cmdGetMode and cmdSetScanHead
	... to their sanei_pieusb_cmd_... equivalent
pieusb: rename definition_list_head to pieusb_definition_list_head
Add pieusb to AUTHORS
pieusb: copyright 2012-2015
pieusb: don't include sanei_thread.h
2015-08-31 21:07:12 +02:00
Alessandro Zummo ccd15dc966 Revert "epsonds: enable double feed detection"
This reverts commit 005c3928a5.
2015-04-26 23:09:08 +02:00
Alessandro Zummo 005c3928a5 epsonds: enable double feed detection 2015-04-26 22:44:01 +02:00
m. allan noah 014b45d920 sanei_usb: Linux USB3/xhci workarounds
add calls to sanei_usb_set_altinterface in sanei_usb_close and
sanei_usb_clear_halt- hopefully work around USB3/xhci problems
in Linux. Also, remove some unused code, and fix debug messages.
2014-12-16 10:23:55 -05:00
Olaf Meeuwissen 365b619dfe Set USB configuration only if different from the current one
This follows up on earlier USB3 fixes.  It only addresses libusb-1.0
because there is no convenience API for libusb-0.1 to get the current
configuration.
2014-12-10 21:25:08 -05:00
Olaf Meeuwissen 5283a8792e Fix memory leak w/ libusb-1.0 (introduced in 71c1a00) 2014-12-10 21:24:53 -05:00
Olaf Meeuwissen 71c1a0068f Set USB configuration only if there are alternative ones
This fixes USB3 issues for the epson and epson2 backends.  Both these
backends already made sure to send an even number of reads and writes
but were affected nevertheless.

It also solves USB3 issues with the third party epkowa backend.  This
one doesn't bother to ensure even counts of packets read and written.
It works fine when this fix is applied (and it no longer clears halts
w/o a stall condition).  Note, there is no need to ensure even packet
counts.
2014-12-10 21:18:20 -05:00
Nils Philippsen 66cb9b55c2 remove code which is never reached 2013-11-05 14:47:27 +01:00
m. allan noah 3fdf42fe7b do our own upcasing to allow backend debugging in Turkish. 2013-09-17 20:53:07 -04:00
m. allan noah 9229049d4d Revert "Use "C" LC_CTYPE when converting backend names to env vars"
This reverts commit dd4f26a805.
2013-09-17 20:43:19 -04:00
Olaf Meeuwissen dd4f26a805 Use "C" LC_CTYPE when converting backend names to env vars 2013-08-27 20:48:24 -04:00
Chris Bagwell af10791227 Improve libusb's error code for permission issues.
libusb on my Linux box is returning EACCES error when invalid
permissions exist.  Modify open to translate that into
SANE_STATUS_ECCESS_DENIED since that error description is
used for this case.

Modify sanei_usb_test.c to not treat access denied or busy
error codes as real failures since its expected to occur on
boxes that USB device is already claimed by another driver
and if that device uses default root only permissions.
2013-08-26 21:21:20 -05:00
Chris Bagwell 8b0e4257a9 Add support for winpthreads needed by mingw64
Keep existing pthread-win32 support.

Based on work from Michael Cronenworth for Fedora's mingw64
sane-backends package.
2013-08-15 13:51:05 -05:00
Chris Bagwell bc2dc68fa5 Improve snmp detection when cross compiling.
Improving here means do not set LIBS/CFLAGS if library is not detected.
This prevents some unknown options based to ld when host is Linux and
target is mingw32/64.  Further improvements are needed if one wants this
snmp support when cross compiling to really work.

Also, to make commit bisectable, updated all autofoo files using
'autoreconf -i -f' and repatching ltmain.sh.

Also, test-driver was missing from git repo but the Makefile.in
checked in expected it to exist.
2013-08-15 13:10:39 -05:00
Stéphane Voltz b10f87f7ed fixed range overflow due to rounding in sanei_constrain_value
- fixed a bug in sanei_constrain_value spotted by
  viresh_shirol@yahoo.co.uk where range max was exceeded due to rounding
  in quantization
- added test case for sane fixed values range
2013-08-04 09:04:47 +02:00
m. allan noah 9fc683d883 fujitsu backend v116
add swskip option
add sanei_magic_isBlank2
2013-04-03 21:54:48 -04:00
Stéphane Voltz 88e04fbb4d move test_wire.c from sanei to testsuite/sanei
- move sanei_w_* functions test program to test directory to keep
  production code separated from test code
2013-03-24 14:50:17 +01:00
Stéphane Voltz 5a1d5a62ee guard against device that went missing in claim/release interface
- add test for missing devices in claim or release
- changlog entry for all the sanei_usb work
2013-03-24 14:25:45 +01:00
Stéphane Voltz 2a66940c6b don't use kernel device when libusb is available 2013-03-24 14:20:06 +01:00
Stéphane Voltz d45f1bec5a fix memleak when reusing an already stored device 2013-03-24 14:20:06 +01:00
Stéphane Voltz a0b45146e1 rewrite sanei_usb_get_vendor_product
- rewrite sanei_usb_get_vendor_product using the same logic
  than sanei_usb_get_vendor_product_byname
2013-03-24 14:20:06 +01:00
Stéphane Voltz 018408bf20 white space cleanup 2013-03-24 14:20:06 +01:00
Stéphane Voltz 9e47eb4a37 unused and reassigned values fixes 2013-03-24 14:20:06 +01:00
Stéphane Voltz b3f01a9010 improve missing test logic 2013-03-24 14:20:06 +01:00
Stéphane Voltz 52ba4844ca add sanei_usb_exit() function
- create a sanei_usb_exit() function to free allocated resources during use
  of sanei_usb functions by a backend
2013-03-24 14:20:06 +01:00
Stéphane Voltz caf4614f61 correct debug messages
- change debug messages to match their new function using __func__
2013-03-24 14:20:06 +01:00
Stéphane Voltz 7fc3406d76 split device scanning logic from sanei_usb_init
- move bus scanning for device to a new sanei_usb_scan_devices
- call this new function from sanei_usb_init to preserve current behaviour
- split bus device scanning into several smaller functions on a per scanning    method
  method basis
2013-03-24 14:20:06 +01:00
Stéphane Voltz ef52b75473 free devname only in the case of a reused device slot 2013-02-28 22:23:03 +01:00
Gerhard Jaeger ef5820ce62 Free heap memory, acquired via strdup for
devname, in sanei_usb_close().
2013-02-20 08:30:34 +01:00
Louis Lagendijk 3276babdec Added optional support in saned for systemd socket activation. This will allow for
using backend debugging using SANE_DEBUG_xxx to be used for saned controlled
scanning when using socket activation. When only the socket is received we
use the existing code path.
2013-01-10 20:59:26 +01:00
m. allan noah 9b142567fa Revert "forgot to do autoreconf"
This reverts commit aa6f185452.
2012-11-28 21:51:12 -05:00
Paul Newall aa6f185452 forgot to do autoreconf 2012-11-28 22:11:04 +00:00
Stéphane Voltz 8c062e89f4 make private functions static 2012-07-04 06:55:14 +02:00
m. allan noah d4ff20d857 Update sane_magic deskew algo
- allow paper to be +/- 1 inch from top of image
- correct integer overflow
- improve (disabled) debug logs
2012-05-09 21:17:33 -04:00
Ruediger Meier 0e3d873624 build fix, use the right scsi header on win32
Now we are using either ddk/ntddscsi.h or ntddscsi.h and even don't
stop if we have none of them.
2012-01-21 22:16:50 -06:00
Ruediger Meier 5311781404 cleanup, uniq PATH_SEP defines
Always use the same portable PATH_SEP define (note _WIN32
is not defined on cygwin).
2012-01-21 22:02:20 -06:00
Ruediger Meier ef66c1e767 fix, inconsistent PATH_SEP and DIR_SEP defines
PATH_SEP and DIR_SEP were inconsistently defined on cygwin since
5168206e (also see a28bd843)
2012-01-21 22:02:20 -06:00
Chris Bagwell 8ac464a47d add support for libusb-win32
It is API compatible with libusb-0.1 that is already supported
but uses different header file name to prevent conflict with
Window's own usb.h.
2011-12-27 17:35:35 -06:00
Chris Bagwell 2c4b1da0bf add FreeBSD Port's patches
epson2-commands.c: Include <sys/types.h> to resolve u_long.
epson2.c, magicolor.c, xerox_mfp-tcp.c: Include <sys/types.h>
and to <sys/socket.h> for anyone using setsockopt().
sanei_tcp.h: Include <sys/types.h> since ssize_t is referenced.
sanei_usb.c: Newer FreeBSD version checks.

All changes in this patch set come from FreeBSD ports patches.
Bug #312503.
2011-11-20 20:08:15 -06:00
Chris Bagwell 10b778b5d0 Map SANE_Pid to pthread_t
Not all platforms use an integer for pthread_t and so
couldn't compile on those; namely mingw.

This is least riskest version I could come up with. Backends
that do things like "SANE_Pid pid = -1" or "if (pid == -1)" will
need to switch to sanei_thread_set_invalid()
sanei_thread_is_invalid() to be able to compile on mingw.
2011-11-10 19:22:07 -06:00
Chris Bagwell ba10bb37cd remove unused variable. 2011-11-09 21:48:07 -06:00
Chris Bagwell e7f01c3b36 Add --disable-dynamic/--disable-preload and update docs
Options were in README but removed at some point.  They
are useful so add them back.

Document BACKENDS and PRELOADABLE_BACKENDS variables in
README as well as in configure --help output.
2011-11-08 21:28:30 -06:00
Chris Bagwell c64249fc31 fix compile failure on non-windows platform. 2011-11-08 21:22:42 -06:00
Chris Bagwell 1aa332d710 Updates to use sockets on mingw
Add missing WSAStartup() and WSACleanup() code required
on windows to use ws2_32 library.

Also, O_NONBLOCK is tricky even on other platforms so create
a function to set that so portability logic doesn't need to be
done in every backend.  Windows requires using a non standard
function to enable nonblocking mode and also doesn't support
querying current state.
2011-11-07 21:49:54 -06:00
Chris Bagwell 5061c2d5b2 More mingw portability updates.
Add check for winsock2.h for socket.h replancement. Also, use this
check to add ws2_32 library. Also, switch all winsock.h references
to winsock2.h.

Add check for getuid and getpass; which are not on mingw.

Add a syslog() replacement that is basically a print(). This
is also used by vsyslog() replacement.

Comment out parts of replacement sigprocmask.c on mingw.

To support these configure.in changes, I need to rebuild all
related files with autoconf 2.68 and libtool 2.4. Hand ported
our sane-backend specific changes to newer ltmain.sh.
2011-11-06 12:40:00 -06:00
Chris Bagwell 9bdff1dbdf mingw32 compile fixes
The following updates were made to all directories but backends.
That still needs work. There are also still some pthread issues
and syslog is missing.

 Windows doesn't support SIGHUP or SIGPIPE so make that optional.
 Only include socket header files when sys/socket.h is detected.
 Use winsock.h on windows.
 Only include syslog.h when vsyslog() was detect by configure.
 Skip FD_CLOEXEC when not supported by OS (not defined).
 Only include sys/ioctl.h on platforms that define it.
2011-11-05 11:19:34 -05:00
Mattias Ellert 9e639753a3 Include <sys/types.h> for definition of u_long on MacOS X 2011-10-30 10:32:34 +01:00