[sane-devel] HP ScanJet 5S

Henning Meier-Geinitz henning@meier-geinitz.de
Tue, 19 Feb 2002 23:21:41 +0100


Hi,

On Wed, Feb 20, 2002 at 12:16:31AM +0300, Max Vorobiev wrote:
> I've completely implemented gray scale mode (with all resolutions)
> for subj scaner. I would like to include my backend to CVS of SANE
> project. What should I do for it? How can I get write access?

For CVS write access look at
http://www.student.uit.no/~pere/linux/sane/cvs-server.html .

Before you include your backend into CVS, please check the points in
doc/backend-writing.txt. Your backend should compile on every
platform. Ok, at least on every platform the rest of SANE compiles :-)
If it can stop other backends from working or confuse other scanners
or similar the backend must be disabled in dll.conf or (if possible)
in hpsj5s.conf.

Also one of the other developers should have a look at your backend
and check for common problems. For the last inclusion I have done this
but other developers can do the same (hint, hint!).

For inclusion quite some files must be changed/added. Have a look at
ChangeLog and older inclusions (e.g. umax1220u). If you aren't sure
about all this, one of the other devlopers can do the addition to CVS.

Is hpsj5s_backend.zip from http://hpsj5s.sourceforge.net/ the latest
backend? I had only a quick look but found the following things:

- Add a manual page
- don't use //-style comments
- make sure that the sane/config.h header is included before anything else
- all global variables and functions (but the sane_* interface and
  sanei_*) must be static. Use "make libcheck" to test for this.
  As you use a seperate  hpsj5s_middle.c, either include it or
  rename the functions that must be used from  hpsj5s.c to something
  like  sanei_hpsj5s_*. They muste be unique in all the SANE backends.
- try to use the same indenting throughout the code (see GNU coding
  standards and backend-writing.txt)
- there is now a type "sheetfed scanner" so if this is appropriate for
  your scanner, you can use this type.
- .desc file: if it's included, status is :NEW. You should add a link
  to your webpage. It's called "Proprietary" with "r" :-) I got this
  wrong in template.desc., too :-)
- check for the warnings generated when compiling in the CVS tree

Enought for now. As I said, I had only a quick look so I may have
misunderstood something.

Bye,
  Henning