Hi, I'll append the current TODO list from CVS. If your backend or other code you care about is mentioned there, please try to fix the issues. If something is wrong or missing on this list, please change it in CVS or tell me :-)
Bye, Henning TODO (2003-07-25) ******** todo ******** backends -------- * Add new backends (+ means scheduled for SANE 1.0.13) - Hewlett-Packard ScanJet 3300C / 3400C and 4300C (wip) http://sourceforge.net/projects/hp3300backend - Hewlett-Packard 4200c http://hp4200-backend.sourceforge.net/ http://fz.eryx.net/sane/#hp4200 * 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. - The result of locking isn't checked --> does it make sense at all? * dc210, dc240, gphoto2, and jpeg stuff: move sanei_* functions to sanei/ (if they are necessary). That's probably for SANE2. * v4l: - Geometry support is missing - Frequency setting is missing - check if v4lctl distributed with xawtv can be used - Use #define _LINUX_TIME_H 1 just before including videodev.h or videodev2.h to avoid trouble if /usr/include/linux is a link. - Add v4l updates from Martin Palm, see http://www.meier-geinitz.de/sane/misc/sane-v4l-update.tar.gz - compilation seems to break when video4linux version 2 is installed? * memory leaks: - sane_exit() does not release memory allocated by sane_get_devices(): abaton, agfafocus, apple, as6e, bh, canon, coolscan, dmc, qcam, ricoh, s9036, sp15c, tamarack - as6e: attach: memory (dev + dev-sane.name) isn't freed if driver isn't found. * suspicious warnings or type mismatchs: - bh: backend/bh.c, line 1923: warning: end-of-loop code not reached see sane-devel. Also don't use mktemp. - coolscan: Lots of compilation warnings (e.g. "backend/coolscan-scsidef.h", line 160: warning: initialization type mismatch; empty declarations), see sane-devel. * Check if sp15c backend (Fujitsu ScanPartner 15C) can be included in the avision backend. * artec - Fix email address of Chris Pinkham. cpink...@infi.net bounces. * All backends: Check that global variables are initialized propperly. sane_init can be called more than once (if sane_exit was called before)! Global variables must be either initialized in sane_init or reset in sane_exit. At least these backends segfault: - microtek - hp5400 * fujitsu: option names shouldn't contain "_" * fujitsu: Add patch from m. allan noah: http://www.mostang.com/pipermail/sane-devel/2003-June/019332.html * mustek_pp: Re-enable support for CCD scanners. * avision: Add patch for using the --source option from priya <pri...@newgen.co.in> (?) * Don't mark option names with SANE_I18N (see po/README for details): - canon630u.c ("cal") doc --- * Add doxygen documentation for the remaining sanei files: - sanei_pio.h - sanei_pv8630.h - sanei_wire.h * desc files: - Add keywords "vendor-id" and "product-id" for SCSI and USB ids. - umax: genius.kye.de times out? - umax, artec_eplus48u: http://www.umax.com.tw/ times out? - plustek: add Genius ColorPage HR6X EPP as supported - Change all description files to use the new status keyword: avision, canon, canon630u, coolscan2, fujitsu, hp, hp5400, hpsj5s, microtek, microtek2, plustek, sharp, st400, umax1220u. * manpages: - html manpages have broken links to other man pages if link is wrapped at the end of the line (e.g. sane-pint points to pint.5.html). Escaping the "-" with a backslash seems to work. frontends --------- * saned: - saned times out after 60 minutes. Check if the watchdog timer is really necessary (e.g. to avoid blocking scanners by one user). Maybe add a 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. - Check for wire errors everywhere. Maybe create a macro? - Can the amount of memory that's used for strings be limited? Otherwise remote computers can allocate huge amounts of memories on the server. - Think about a complete rewrite with security in mind. * scanimage: Check range of width and height. scanimage just uses the ranges from br-x and br-y but this is wrong for tl-x and tl-y != 0 and for SANE_UNIT_PIXEL. sanei ----- * sanei_scsi: Think about a completely new interface. Details are in http://www.mostang.com/pipermail/sane-devel/2002-January/001995.html and http://www.mostang.com/pipermail/sane-devel/2002-December/016773.html. * 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. * Check if the device file has the right type before accessing it. E.g. check for major/minor numbers to avoid accessing a USB file as SCSI device. This is finished for sanei_scsi.c/Linux and sane-find-scanner. Patches for other platforms are welcome. * sanei_scsi (Linux): Make sure that the SCSI driver is loaded when checking for scanners. Ideas: Open/close all the /dev/sg* files in sanei_scsi.c, dll.c or in a new backend. * sanei_scsi: Print all data send to and received from devices. Use high debug level. Already implemented for sanei_usb. * sanei_scsi: enable close_on_exec flag with fcntl on open filedescriptors to avoid blocking if the main application is already closed. * sanei_usb: - some scanners seem to provide more than one bulk-in endpoint(?) platform-specific ----------------- * Fix MacOS X issues: - More docu in README.darwin. * OS/2 issues: - Add support for semaphores also for OS/2 (currently used in snapscan). * icc on ia32 + ia64: - fix sys/io.h problems (see README.linux) misc ---- * sane-config: add options "--exec-prefix=...." and "--prefix=..." compareable to gtk-config * Make output of sane-find-scanner more flexible. See scanimage -f for details. * Can we link external libraries only to backends that need them? See http://fz.eryx.net/sane/#configure. * Fix japi to run on current jdks. Swing is now included, and there is a segfault in Sane.c. Silvio Vogt <blackhol at web.de> is working on this topic. * There is a mysterious problem with string list options that occurs with (at least) the epson backend, saned and xsane. See http://www.mostang.com/pipermail/sane-devel/2003-May/018755.html. * configure/libtool: find a simple way to avoid all the unneccessary tests for c++ and fortran. * Check the license of these files, they don't contain the SANE exception: include/sane/sanei.h David Mosberger-Tang and Andreas Beck include/sane/sanei_codec_ascii.h David Mosberger-Tang and Andreas Beck include/sane/sanei_codec_bin.h David Mosberger-Tang and Andreas Beck include/sane/saneopts.h David Mosberger-Tang and Andreas Beck Probably just forgotten to move from GPL to GPL+SANE. include/lalloca.h The Free Software Foundation include/lassert.h Henning Meier-Geinitz, FSF(?) sanei/linux_sg3_err.h ? (somewhere from the linux kernel or sg tools?) External files. Check for replacements. Are they necessary at all?