kopia lustrzana https://gitlab.com/sane-project/backends
Added umax_pp backend (patch from Stphane Voltz
<svoltz@wanadoo.fr>).DEVEL_2_0_BRANCH-1
rodzic
3346c6f053
commit
0e6d28e8e8
|
@ -54,8 +54,8 @@ COMPILE = $(CC) -c $(CFLAGS) $(DEFS) $(INCLUDES) $(CPPFLAGS)
|
||||||
|
|
||||||
PRELOADABLE_BACKENDS = abaton agfafocus apple artec as6e avision bh canon \
|
PRELOADABLE_BACKENDS = abaton agfafocus apple artec as6e avision bh canon \
|
||||||
coolscan dc25 @DC210@ @DC240@ dmc epson hp m3096g microtek microtek2 \
|
coolscan dc25 @DC210@ @DC240@ dmc epson hp m3096g microtek microtek2 \
|
||||||
mustek mustek_pp nec @NET@ pie @PINT@ plustek @PNM@ @QCAM@ ricoh s9036 \
|
mustek mustek_pp nec @NET@ pie @PINT@ plustek @PNM@ @QCAM@ ricoh \
|
||||||
sharp snapscan sp15c st400 tamarack umax @V4L@
|
s9036 sharp snapscan sp15c st400 tamarack umax umax_pp @V4L@
|
||||||
ALL_BACKENDS = $(PRELOADABLE_BACKENDS) dll
|
ALL_BACKENDS = $(PRELOADABLE_BACKENDS) dll
|
||||||
|
|
||||||
LIBS = $(addprefix libsane-,$(addsuffix .la,$(ALL_BACKENDS)))
|
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
|
# additional dependencies
|
||||||
|
|
||||||
EXTRA_hp = hp-accessor hp-device hp-handle hp-hpmem hp-option hp-scl
|
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_dc210 = djpeg
|
||||||
EXTRA_dc240 = 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_constrain_value.lo
|
||||||
libsane-umax.la: ../sanei/sanei_scsi.lo
|
libsane-umax.la: ../sanei/sanei_scsi.lo
|
||||||
libsane-v4l.la: ../sanei/sanei_constrain_value.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),)
|
ifneq ($(DLL_PRELOAD),)
|
||||||
# need to make dll dependent on all sanei files:
|
# need to make dll dependent on all sanei files:
|
||||||
|
|
|
@ -33,4 +33,5 @@ snapscan
|
||||||
sp15c
|
sp15c
|
||||||
tamarack
|
tamarack
|
||||||
umax
|
umax
|
||||||
|
#umax_pp
|
||||||
v4l
|
v4l
|
||||||
|
|
|
@ -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) ();
|
||||||
|
}
|
|
@ -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.
|
||||||
|
|
||||||
|
|
||||||
|
|
Ładowanie…
Reference in New Issue