[sane-devel] Current TODO list

Henning Meier-Geinitz henning@meier-geinitz.de
Sat, 19 Jan 2002 20:10:42 +0100


Hi,

This is the current TODO list for sane-backends:

Bye,
  Henning

TODO (2002-01-19)

******** todo ********

backends
--------
  * Add new backends (?)
    - hp4200 http://hp4200-backend.sourceforge.net/
    - v4l2 http://video.inodes.org/sane-v4l2/
    - Relisys Scorpio Super 3 SCSI II
      Mark Plowman <sane-devel@plowman.xs4all.nl>
      http://www.xs4all.nl/~plowman/
    - Linux Handscanner Ioctl Interface scanner by Harald
      Bauer <bauer-h@web.de>
    - viceo (Visioneer OneTouch 8600)
      http://www.littlecms.com/iphoto/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 <frederik@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 <ukd@xenon.pc.Uni-Koeln.DE>
    - Hewlett-Packard ScanJet 3300C / 3400C and 4300C (wip)
      http://sourceforge.net/projects/hp3300backend

  * Update backends
    - Combine all the Fujitsu backends into one single backend
    
  * All backends should check for TL_X < BR_X and TL_Y < BR_Y to
    avoid segfaults or even scanner damage.

  * Don't use exit() in backends.
    - (v4l)
    - tamarack

  * Use DBG(...) instead of fprintf(stderr, ...) or printf
     - microtek

  * 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?

  * dll: Rewrite to use libtool ltdl library

  * 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 driver isn't
    found.

  * avision: line 1393: word isn't freed sometimes (maybe if  cp == line?)

  * net: add IPv6 support.

doc
---
  * Add doxygen documentation for the remaining sanei files:
    - sanei_auth.c
    - sanei_codec*
    - sanei_config.c
    - sanei_config2.c
    - sanei_constrain_value.c
    - sanei_init_debug.c
    - sanei_net.c
    - sanei_pa4s2.c
    - sanei_pio.c
    - sanei_pv8630.c
    - sanei_scsi.c
    - sanei_thread.c
    - sanei_wire.c

  * sane.tex: Define the return values for sane_init?  Define the
    consequences if sane_init doesn't return SANE_STATUS_GOOD.

  * sane.tex: Add a warning/explanation about problems with 
    sane_get_select_fd, Unix select() calls and sane_cancel.


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.
     - Add IPv6 support.

  * scanimage: Add i18n (NLS) support?

 [the remaining entries have been moved to the sane-frontends package]

sanei
-----
  * 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)?

  * 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.

platform-specific
-----------------
  * Keep config.guess and config.sub up-to-date.

  * SCSI access doesn't seem to work on Linux/Sparc. See emails from
    Tomislav Renic on sane-devel (2001-09-21).

  * Really fix all the parport/inb/outb compilation issues which break
    porting to some non-i386 platforms.

  * 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.

  * Add support for semaphores also for OS/2 (currently used in snapscan).

  * Fix shared lib problem with NetBSD. Starting scanimage results in:
    "Cannot open "../backend/.libs/libsane.so".

  * Shared libs work with OpenBSD. However, they are named libsane.so.1.6
    instead of 1.0.6. Is this correct?

misc
----
  * sane-config: add options "--exec-prefix=...." and "--prefix=..."
    compareable to gtk-config

  * 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.