[sane-devel] TODO list
Henning Meier-Geinitz
henning at meier-geinitz.de
Thu Nov 29 20:01:05 GMT 2001
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 <mplowman at wxs.nl>
- Linux Handscanner Ioctl Interface scanner by Harald
Bauer <bauer-h at 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 <frederik at 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 at 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
More information about the sane-devel
mailing list