Hi, this is the current TODO list of the sane-backends CVS:
TODO (2001-11-29) ******** todo ******** backends -------- * Configuration problems: - add options "--exec-prefix=...." and "--prefix=..." compareable to gtk-config * Add new backends (?) - primax http://primax.sourceforge.net/ - hp4200 http://hp4200-backend.sourceforge.net/ - v4l2 http://video.inodes.org/sane-v4l2/ - Relisys Scorpio Super 3 SCSI II Mark Plowman <mplow...@wxs.nl> - Linux Handscanner Ioctl Interface scanner by Harald Bauer <baue...@web.de> - viceo (Visioneer OneTouch 8600) http://www.abaforum.es/martim/bird/otlinux.htm - Genius Vivid Pro USB, Colorado USB 19200, Visioneer OneTouch 7600 IBM IdeaScan 2000 USB http://homepages.paradise.net.nz/stevenel/scanner/ - Fujitsu M3091DCd support Frederik Ramm <frede...@remote.org> http://www.remote.org/frederik/projects/software/sane/ - Canon FB620S flatbed scanner and FS2710 film scanner ftp://stthd0.pc.uni-koeln.de/pub/canon-1.08.tar.gz Ulrich Deiters <u...@xenon.pc.uni-koeln.de> - UMAX Astra 1220U backend http://umax1220u-sane.sourceforge.net/ * Update backends - Combine all the Fujitsu backends into one single backend * Check all backends which use fork/kill for the kill (-1,...) bug first found in the microtek2 backend. * All backends should check for TL_X < BR_X and TL_Y < BR_Y to avoid segfaults or even scanner damage. * Really fix all the parport/inb/outb compilation issues which break porting to some non-i386 platforms. * Use DBG(...) instead of fprintf(stderr, ...) or printf - microtek * Check net/saned - saned times out after 5 minutes (now 60 minutes). Check if the watchdog timer is really necessary (e.g. to avoid blocking scanners by one user). Maybe add an command line option to saned to set the timeout. Otherwise turn on TCP keep alive (where available) and (maybe) check the connection from server side. * qcam: - implement auto mode for brightness and black-level (don't just advertise it!) Actually, implement an auto "backend" instead that can be plugged in front of any backend with brightness/contrast etc controls - figure out how/if to support bulb mode - convert to use sanei_pio functions instead of direct port access. - Check file handling in /tmp. * dc210 and jpeg stuff: move sanei_* functions to sanei/ (if they are necessary). * v4l: Problems (crash) with more than one video card. It looks like the two different cards are identified as the same card. * Fix backends where sane_exit() does not release memory allocated by sane_get_devices(). - abaton - agfafocus - apple - as6e - avision - bh - canon - coolscan - dmc - m3096 - microtek - qcam - ricoh - s9036 - sharp - sp15c - tamarack - etc? * as6e: attach: memory (dev + dev-sane.name) isn't freed if diver isn't found. * avision: line 1393: word isn't freed sometimes (maybe if cp == line?) * add a contact address for each backend (in backend.desc). doc --- * Documentation for sanei API - any ideas for this? - Options: - Doxygen, <URL:http://www.stack.nl/~dimitri/doxygen/> - ROBODoc, <URL:http://www.xs4all.nl/~rfsber/Robo/> * sane.tex: Define the return values for sane_init? Define the consequences if sane_init do not return SANE_STATUS_GOOD. Add a warning/explanation about problems with sane_get_select_fd, Unix select() calls and sane_cancel. * Update backend manpages frontends --------- * dll: Rewrite to use libtool ltdl library * Add a check in the frontends if the backend delivers more data than it announced by sane_get_parameters to avoid segfaults with bad backends? [the remaining entries have been moved to the sane-frontends package] sanei ----- * SCSI access doesn't seem to work on Linux/Sparc. See emails from Tomislav Renic on sane-devel (2001-09-21). * sanei_scsi: Check return values of req_wait and cmd in case of SCSI DEVICE BUSY. Better specification of the behaviour of sanei_scsi functions (e.g. return values, timeout 10 min versus 1 min)? * sanei_usb: Add sanei_usb_write_control or similar. At least the Linux USB scanner driver allows to send control messages since kernel 2.4.13. * create sanei_parport_* and remove all inb, outb,... from all backends; use libieee1284 if available (see http://people.redhat.com/twaugh/libieee1284/). Or just include this library into sane. * Add support for semaphores also for OS/2 (currently used in snapscan). misc ---- * Remove compiler warnings (>300 warnings even in disable-warnings mode, >700 with --enable-warnings)) * Test SANE on different os/platforms, fix possible compilation problems Test methods: scanimage -d pnm:0 --filename=file.pnm -T scanimage -d net:localhost:pnm:0 --filename=file.pnm -T (start saned by inetd or saned -d before testing) xscanimage / gimp with xscanimage plugin (where available) All the above with shared and static libraries. * Keep config.guess and config.sub uptodate. * Use #include "../include/sane/..." instead of #include <sane...> * Use #include "../include/lalloca.h" instead of #include <lalloca.h> * Check include/sane/config.h.in for unnecessary macros. * Add configure option to enable only the net backend for users without local scanners. Install only sane-dll/sane-net (or even only sane-net). Maybe something like --network-client-only or --disable-local-devices. * check memory leaks (checked with purify and mtrace (from glibc)): * Add installation procedure for translations of SANE backend's options. * Add AC_OBJEXT and AC_EXEEXT to configure.in for automatically adding the correct extensions (e.g. for OS/2). Also update the Makefiles accordingly. Bye, Henning