* backend/pixma_bjnp.c backend/pixma_bjnp.h
backend/pixma_bjnp_private.h backend/pixma_io_sanei.c:
Make bjnp protocol more resilient against packet loss and corruption
Changed timeout for all responses to be at least 10 seconds
Send all broadcasts for scanner detection 5 times
Made sure scanners are added to device list only once
Changed device-id for bjnp so it uses scanner hostname/ip-address
instead of mac address as this is more human friendly.
To make room, use scanner model instead of USB-id (which is bogus
for network scanners
to sane-config missed during fix to stop using LIBS to link everything.
Add back in code to move LDFLAGS out of $GPHOTO2_LIBS and into
GPHOTO2_LDFLAGS.
Global replace of u_int??_t with C9x standard based uintxx_t
in order to remove some tricky and overlapping portability logic
from acinclude.m4 and leave it in only m4/stdint.m4.
get latest fixes and use logic to not recreate _stdint.h if
no changes (to prevent unneeded recompiles).
* m4/byteorder.m4: Added support to reuse existing byteorder.h if
no changes to prevent timestamp causing a recompile.
also add V_REV.
* backend/Makefile.am: Use variables to add libraries to backends
instead of direct substitution. Easier to touch up variables on
problem platforms then substitution. Also, add back in creating
dll.d directory; missed during conversion.
* backend/genesys_gl841.c: Portablity fixes for strict
C compilers.
issues, by Mattias Ellert.
* backend/fujitsu.c: backend v89, fi-4750 has no serial number support
* doc/descriptions/fujitsu.desc: backend v89, remove 'MAC/TWAIN' text
* doc/sane-fujitsu.man: backend v89
* backend/.cvsignore: ignore *.loT
Add tools/openbsd to distribution package.
* include/Makefile.am: include files should have been installed
under sane/ directory when converted to automake.
* doc/Makefile.am: Cleanup. Use automake's built in support to
install docs within subdirectories.
doc/Makefile to use automake. Main difference is that
no longer installs man pages for backends that are not
compiled. Moved install ownership of $top_srcdir docs
to $top_srcdir's Makefile.
use -version-number even though its known not to work on
some platforms (OS/2). -version-info results in a variety of
version numbers in soname based on platform and would not
be easily mappable back to values currently return by
each backend's sane_init(). ltmain.sh will need to be
hand patched for any known issues.
optionally linking in sanei_jpeg.lo under backend directory;
but using configure and not with GNU make extensions.
Move back to libtool's -version-info instead of -version-number
because the later has known bugs on platforms such as OS/2.
add cv_ prefix to cached variable. Remove AC_ARG_PROGRAM as
automake already invokes this. When prefered AC_USE_SYSTEM_EXTENSIONS
exists, use that instead of AC_GNU_SOURCE/AC_AIX/AC_MINUX.
Cleanup socket detection more by creating only a single
SOCKET_LIBS that contains list of all optional libraries
for any socket related funciton. Make sure that checks
for socket related functions use SOCKET_LIBS when searching.
Check for getopt_long() and getopt.h. Make OS/2 use
-no-undefined (same as windows).
* ltmain.sh, m4/libtool.m4: Upgrade to libtool 1.5.26.
* Makefile.am: Cleanups to match configure updates.
* frontend/scanimage.c, include/Makefile.in, lib/getopt.c
lib/getopt1.c, toosl/sane-desc.c, include/lgetopt.h:
Rename internal getopt.h to lgetopt.h to allow using
external getopt.h when it exists. This allows to go
back to optionally compiling getopt()/getopt_long() and its
prototypes and not have conflicts with external headers/symbols.
* configure.in: Group all USB logic together and all SCSI
logic together to aid understanding of whats no longer
valid. Allow sharing enable/disable options between all
USB drivers on multiple platforms. Combined CAM_LIBS and
SCSI_LIBS since they are mutually exclusive.
Skip some USB/SCSI checks when previous tests show it will always fail.
* backend/Makefile.am, tools/Makefile.in: Combine CAM_LIBS and
SCSI_LIBS. Add missing SOCKET_LIBS to epson2. Add USB_LIB.
* saned.c: Add limits.h for PATH_MAX.
own *_LIB variables instead of $LIB so that we do not have to
link in the world to all executables. Modified SANE_CHECK_U_TYPES
to be a little more portable to platforms that use #define
for u_* types. Create SANE_CHECK_BACKENDS macro so that
PRELOADABLE_BACKENDS can also be valided. Auto-populated
PRELAODABLE_BACKENDS when detect dlopen() won't work.
Various protability cleanups.
* backend/dll.c: Make dll-preload.c a .h since its an include and
not compilable byitself.
* frontend/Makefile.in, frontend/scanimage.c, include/laaloca.h,
lib/Makefile.am, lib/alloca.c, strcasestr.c, tools/Makefile.in,
tools/sane-desc.c: Convert lib/ to automake. Create a liblib.la
for everyone to use and a libfelib.la for only frontend programs.
Make all internal programs be prefixed with sanei_ as not to conflict
with other programs libsane is linked in with that will also most
likely create similar internal utils on problem platforms.
* include/getopt.h, lib/getopt.c, lib/getopt1.c: Always compile
and link in getopt_long() but prefix it with sanei_. Its
easier to always use internal version then try to figure out what
platforms support getopt_long() and what header files to use.
* backend/Makefile.am: Convert backend makefile to automake.
Initial version that is feature parity with original but uses
specific rules instead of wildcards and only links in libraries/objs
really required. Room for more cleanup of whats linked in once
all makefiles have been converted to automake.
sanei/sanei_tcp.c, sanie/sanei_udp.c: Improve portablity by
removing usage of MSG_WAITALL since not all platforms support
that (cygwin). Default is to be blocking anyways. Changed
usage of MSG_NOTWAIT to use fcntl() function as needed as well.
* configure.in, lib/Makefile.in, lib/strcasestr.c: Add internal
strcasestr() for platforms missing it (cygwin).
* pixma_common.c: My source match header prototype for picky
compilers (cygwin).
* backend/umax_pp_mid.c: Allow BACKEND_NAME to be filename
yet debug to be SANE_DEBUG_UMAX_PP to match man page.
* doc/descriptions/epjitsu.desc, doc/descriptions/fujitsu.desc: version
* doc/descriptions/umax1220u.desc: correct status of 1600U
* doc/descriptions/xerox_mfp.desc: status = new
Updated backends with EXTRA_* files to allow Makefile's
to always pass in BACKEND_NAME to be fixed to backend name
instead of filename; while still making sure that
SANE_DEBUG_${BACKEND}* exist as documented in man pages.
Add references to epson and epson2 man pages about
SANE_DEBUG_EPSONx_SCSI and _NET options.
Created an epson2 man page; based mostly on epson page.
Fix a few bugs with "all" and "uninstall" targets to work when
$(builddir) != $(srcdir). Added $(DESTDIR) to uninstall target.
Made $(distdir) related to current directory to match automake.
Fix a few bugs with "all" and "uninstall" targets to work when
$(builddir) != $(srcdir). Added $(DESTDIR) to uninstall target.
Made $(distdir) related to current directory to match automake.
Added code to read_data() to pad image data to
requested length and to zero out any garbage using
information from sense data command. Added new
MAINTENANCE_DATA struct and options to display
scanner's maintenance/callibration statistics.
*backend/hs2p.h
- added enum CONNECTION_TYPES
- added HS2P_DATA struct
- added SENSE_DATA struct to struct HS2P_Device
- added SANE_String_Const orientation_list[]
- added macros isset_ILI() and isset_EOM()
*backend/hs2p-scsi.h
- replaced request_sense struct with SENSE_DATA struct
- added #define DATA_TYPE_EOL (va_list sentinel)
- added MAINTENANCE_DATA struct
*backend/hs2p-saneopts.h
- added OPT_ORIENTATION
- added MAINTENANCE_DATA options
*backend/hs2p.c
- added MAINTENANCE_DATA options
- added unused connType to attach()
- added update_hs2p_data() to fill in options
- added hs2p_open() and hs2p_close()
- added get_hs2p_data() to read scanner data
- added print_maintenance_data()
- modified sane_control_options() to
accomodate new maintenance options and to
handle Portrait/Landscape option
replaced adf_status macro with s->data.adf_status
- modified sane_read() to correctly zero out the
missing bytes on an incomplete read and to pad
to the requested length
*backend/hs2p-scsi.c
- replaced request_sense() with get_sense_data()
- added print_sense_data()
- added SENSE_DATA *sdp to sense_handler()
- modified read_data() to handler other data type codes/qualifiers
- read_adf_status() now is replaced with call to
read_data(fd,*buf,*bufsize,dtc,dtq)
- round pixels_per_line down to arbitrary limits for fi-4990 & fi-4860
- fi-4860 returns random garbage to serial number queries
- initialize *info to 0 in sane_control_option()
* doc/descriptions/fujitsu.desc: backend v85, improve status/comments
* frontend/scanimage.c: initialize *info, fix buffer overwalk
- add all documented request sense codes to sense_handler()
- fix color jpeg (remove unneeded BGR to RGB swapping code)
- add macros for LUT data
* backend/canon_dr.conf.in: add DR-2080C usb ID
* doc/descriptions/canon_dr.desc: backend v10, add DR 3020
- rename read/send_counter to read/send_panel
- enable control panel during init
- add options for all buttons
- call TUR twice in wait_scanner(), even if first succeeds
- disable rif
- enable brightness/contrast/threshold options
* doc/descriptions/canon_dr.desc, doc/sane-canon_dr.man: backend v8
On Ubuntu getlogin() returns NULL. So we noew first try getlogin()
and if that fails, we try getenv("USER") and if that fails we use
a defaul user string
- jpeg support (size rounding and header overwrite)
- call object_position(load) between pages even if buffering is on
- use request sense info bytes on short scsi reads
- byte swap color BGR to RGB
- round image width down, not up
- round image height down to even # of lines
- always transfer even # of lines per block
- scsi and jpeg don't require reading extra lines to reach EOF
- rename buffer option to buffermode to avoid conflict with scanimage
- send ssm_do and ssm_df during sane_start
- improve sense_handler output
* doc/descriptions/canon_dr.desc: backend v7
doc/descriptions/canon_dr.desc: backend v5
- remove EOF ejection code
- add SSM and GSM commands
- add dropout, doublefeed, and jpeg compression options
- disable adf backside
- fix adf duplex
- read two extra lines (ignore errors) at end of image
- only send scan command at beginning of batch
- fix bug in hexdump with 0 length string
- DR-7580 support
- round binary bpl and Bpl up to byte boundary
- use s->params instead of user data in set_window()
- read_from_scanner() only grabs an even number of lines
* Pixma backend (pixma.c/pixma_common.c/pixma_io_sanei.c/pixma_bjnp.c)
bjnp tcp connection is now de-activated after initialization and
re-activated at start of scanning. If we do not do this, the scanner
closes its side of the connection after 30 secods of inactivity.
Added a maximum to the retry of slect calls when signals are
received
Added blocksize detection for tcp read_bulk call
* backend/pixma_bjnp.c
Added retry to select() calls when they get interrupted by a
signal. This solves problems in xsane after a first scan completed.
There is still an issue that scanner closes tcp connection after
30 seconds of inactivity
backend/pixma_bjnp.c backend/bjnp_private.h
Marked local functions as static and removed them from ..private.h
* Added #ifdef around defintions of MIN and MAX in pixma_common.h
- Re-enable includes in pixma_bjnp.c as they are needed on Freebsd
- Replaced getaddrinfo by gethostbyname in pixma_bjnp.c as this is
supported on OS/2 as well
backend/fujitsu.[ch], backend/fujitsu-scsi.h: backend v79
- add usb ids for several models
- print additional hardware capability bits
- detect front-side endorser
- disable endorser-side controls if only one side installed
- add quirks for fi-6x70
* backend/epjitsu.[ch], backend/epjitsu-cmd.h: backend v 13, 14 and 15:
- add working page-height control
- add working brightness, contrast and threshold controls
- add disabled threshold curve and geometry controls
- move initialization code to sane_get_devices, for hotplugging
- support S300 on USB power
- support S300 225x200 and 600x600 scans
- support for automatic paper length detection (parm.lines = -1)
- expose hardware buttons/sensors as options for S300
* doc/descriptions/epjitsu.desc: change S300 status to good