Added umax_pp backend (patch from Stphane Voltz

<svoltz@wanadoo.fr>).
DEVEL_2_0_BRANCH-1
Henning Geinitz 2001-05-03 19:34:01 +00:00
rodzic 3346c6f053
commit 0e6d28e8e8
4 zmienionych plików z 147 dodań i 2 usunięć

Wyświetl plik

@ -54,8 +54,8 @@ COMPILE = $(CC) -c $(CFLAGS) $(DEFS) $(INCLUDES) $(CPPFLAGS)
PRELOADABLE_BACKENDS = abaton agfafocus apple artec as6e avision bh canon \
coolscan dc25 @DC210@ @DC240@ dmc epson hp m3096g microtek microtek2 \
mustek mustek_pp nec @NET@ pie @PINT@ plustek @PNM@ @QCAM@ ricoh s9036 \
sharp snapscan sp15c st400 tamarack umax @V4L@
mustek mustek_pp nec @NET@ pie @PINT@ plustek @PNM@ @QCAM@ ricoh \
s9036 sharp snapscan sp15c st400 tamarack umax umax_pp @V4L@
ALL_BACKENDS = $(PRELOADABLE_BACKENDS) dll
LIBS = $(addprefix libsane-,$(addsuffix .la,$(ALL_BACKENDS)))
@ -155,6 +155,7 @@ libsane.la: dll.lo dll-s.lo $(EXTRA) $(addsuffix .lo,$(DLL_PRELOAD)) $(LIBOBJS)
# additional dependencies
EXTRA_hp = hp-accessor hp-device hp-handle hp-hpmem hp-option hp-scl
EXTRA_umax_pp = umax_pp_low umax_pp_mid
EXTRA_dc210 = djpeg
EXTRA_dc240 = djpeg
@ -262,6 +263,9 @@ libsane-umax.la: ../sanei/sanei_config2.lo
libsane-umax.la: ../sanei/sanei_constrain_value.lo
libsane-umax.la: ../sanei/sanei_scsi.lo
libsane-v4l.la: ../sanei/sanei_constrain_value.lo
libsane-umax_pp.la: $(addsuffix .lo,$(EXTRA_umax_pp))
libsane-umax_pp.la: ../sanei/sanei_constrain_value.lo
libsane-umax_pp.la: ../sanei/sanei_config2.lo
ifneq ($(DLL_PRELOAD),)
# need to make dll dependent on all sanei files:

Wyświetl plik

@ -33,4 +33,5 @@ snapscan
sp15c
tamarack
umax
#umax_pp
v4l

Wyświetl plik

@ -0,0 +1,83 @@
#include "sane/sanei_backend.h"
/* Now define the wrappers (we could use aliases here, but go for
robustness for now...: */
SANE_Status
sane_init (SANE_Int *vc, SANE_Auth_Callback cb)
{
return ENTRY(init) (vc, cb);
}
SANE_Status
sane_get_devices (const SANE_Device ***dl, SANE_Bool local)
{
return ENTRY(get_devices) (dl, local);
}
SANE_Status
sane_open (SANE_String_Const name, SANE_Handle *h)
{
return ENTRY(open) (name, h);
}
const SANE_Option_Descriptor *
sane_get_option_descriptor (SANE_Handle h, SANE_Int opt)
{
return ENTRY(get_option_descriptor) (h, opt);
}
SANE_Status
sane_control_option (SANE_Handle h, SANE_Int opt, SANE_Action act,
void *val, SANE_Word *info)
{
return ENTRY(control_option) (h, opt, act, val, info);
}
SANE_Status
sane_get_parameters (SANE_Handle h, SANE_Parameters *parms)
{
return ENTRY(get_parameters) (h, parms);
}
SANE_Status
sane_start (SANE_Handle h)
{
return ENTRY(start) (h);
}
SANE_Status
sane_read (SANE_Handle h, SANE_Byte *buf, SANE_Int maxlen, SANE_Int *lenp)
{
return ENTRY(read) (h, buf, maxlen, lenp);
}
SANE_Status
sane_set_io_mode (SANE_Handle h, SANE_Bool non_blocking)
{
return ENTRY(set_io_mode) (h, non_blocking);
}
SANE_Status
sane_get_select_fd (SANE_Handle h, SANE_Int *fdp)
{
return ENTRY(get_select_fd) (h, fdp);
}
void
sane_cancel (SANE_Handle h)
{
ENTRY(cancel) (h);
}
void
sane_close (SANE_Handle h)
{
ENTRY(close) (h);
}
void
sane_exit (void)
{
ENTRY(exit) ();
}

Wyświetl plik

@ -0,0 +1,57 @@
;
; SANE Backend specification file
;
; It's basically emacs-lisp --- so ";" indicates comment to end of line.
; All syntactic elements are keyword tokens, followed by a string or
; keyword argument, as specified.
;
; ":backend" *must* be specified.
; All other information is optional (but what good is the file without it?).
;
:backend "umax_pp" ; name of backend
:version "1" ; version of backend
:status :new ; :alpha, :beta, :stable, :new
:manpage "sane-umax_pp" ; name of manpage (if it exists)
; backend's web page
:url "http://umax1220p.sourceforge.net/"
:devicetype :scanner ; start of a list of devices....
; other types: :stillcam, :vidcam,
; :meta, :api
:mfg "UMAX" ; name a manufacturer
:url "http://www.umax.com/"
; These scanners are known to have the same ASIC. What scanners work
; isn't actually known. Also the interfaces are only guessed
:model "Astra 1220P"
:interface "Parport (EPP)"
:comment "works"
:model "Astra 2000P"
:interface "Parport (EPP)"
:comment "works"
:model "Astra 1600P"
:interface "Parport (EPP)"
:comment "works"
:model "ASTRA 610 P"
:interface "Parport (EPP)"
:comment "don't work (yet)"
:mfg "Hewlett-Packard"
:model "HP 3200 C"
:interface "Parport (EPP)"
:comment "works (relabelled 1220P and 2000P)"
; :comment and :url specifiers are optional after :mfg, :model, :desc,
; and at the top-level.