What should the driver output?

Thomas Davis writes:

 > 1.  The driver should be a module.

Why does it have to run in kernel space?  It doesn't need to field
interrupts, so it can just run as a setuid user-space program.  It
needs to run as root because it needs access to the parallel port I/O

And not only that, but there's not much reason for the camera to be
sharable, so the code might as well be linked into a single program.

 > 3.  _What_ should the driver output?
 > I've been puttering around with a driver based on someone's else driver
 > (that is a module, but it's really, really skeleton), and it has a
 > option based on how it was opened to put either bytes as is, or PGM
 > format (portable gray map).

PGM.  Raw mode PGM files are very easy to create.

 > Oh, here's another one.
 > 5. How many cameras per machine do we support?  1?  There can be 3 LPT ports,
 > so do we support upto 3 per machine?

Make the parallel port's I/O address be a command-line parameter.

-russ <nelson@crynwr.com>    http://www.crynwr.com/~nelson
Crynwr Software   | Crynwr Software sells packet driver support | PGP ok
11 Grant St.      | +1 315 268 1925 voice | Good government is a contradiction
Potsdam, NY 13676 | +1 315 268 9201 FAX   | in terms.  Ask me for details.