kopia lustrzana https://gitlab.com/sane-project/backends
change request vom HMG honored <eichholz@computer.org>
rodzic
8ec581cc0a
commit
dd3f41a5bd
|
@ -1,3 +1,4 @@
|
||||||
|
|
||||||
/* sane - Scanner Access Now Easy.
|
/* sane - Scanner Access Now Easy.
|
||||||
Copyright (C) 1996, 1997 David Mosberger-Tang
|
Copyright (C) 1996, 1997 David Mosberger-Tang
|
||||||
This file is part of the SANE package.
|
This file is part of the SANE package.
|
||||||
|
@ -215,11 +216,13 @@ static TLineType GetLineType(TInstance *this)
|
||||||
return ltUnknown;
|
return ltUnknown;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef INSANE_VERSION
|
||||||
|
|
||||||
/* **********************************************************************
|
/* **********************************************************************
|
||||||
|
|
||||||
FakeCalibration()
|
FakeCalibration()
|
||||||
|
|
||||||
If DoIriginate() and this Calibration code is skipped,
|
If DoOriginate() and this Calibration code is skipped,
|
||||||
we should at least provide for some fake measurements.
|
we should at least provide for some fake measurements.
|
||||||
Thus a test scan of the scanner's inside is possible.
|
Thus a test scan of the scanner's inside is possible.
|
||||||
|
|
||||||
|
@ -243,6 +246,8 @@ TState FakeCalibration(TInstance *this)
|
||||||
return SANE_STATUS_GOOD;
|
return SANE_STATUS_GOOD;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
/* **********************************************************************
|
/* **********************************************************************
|
||||||
|
|
||||||
DoCalibration() and friends
|
DoCalibration() and friends
|
||||||
|
|
|
@ -366,7 +366,7 @@ sane_init (SANE_Int *version_code, SANE_Auth_Callback authCB)
|
||||||
if (version_code)
|
if (version_code)
|
||||||
{
|
{
|
||||||
*version_code = SANE_VERSION_CODE (V_MAJOR, V_MINOR, BUILD);
|
*version_code = SANE_VERSION_CODE (V_MAJOR, V_MINOR, BUILD);
|
||||||
DBG(DEBUG_VERBOSE,"SM3600 version: %lx\n",
|
DBG(DEBUG_VERBOSE,"SM3600 version: %x\n",
|
||||||
SANE_VERSION_CODE(V_MAJOR, V_MINOR, BUILD));
|
SANE_VERSION_CODE(V_MAJOR, V_MINOR, BUILD));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -421,7 +421,7 @@ sane_exit (void)
|
||||||
for (dev = pdevFirst; dev; dev = pNext)
|
for (dev = pdevFirst; dev; dev = pNext)
|
||||||
{
|
{
|
||||||
pNext = dev->pNext;
|
pNext = dev->pNext;
|
||||||
free ((void *) dev->sane.name);
|
free (dev->sane.name);
|
||||||
free (dev);
|
free (dev);
|
||||||
}
|
}
|
||||||
if (devlist) free(devlist);
|
if (devlist) free(devlist);
|
||||||
|
@ -788,7 +788,7 @@ sane_cancel (SANE_Handle handle)
|
||||||
SANE_Status
|
SANE_Status
|
||||||
sane_set_io_mode(SANE_Handle h, SANE_Bool m)
|
sane_set_io_mode(SANE_Handle h, SANE_Bool m)
|
||||||
{
|
{
|
||||||
h++;
|
h=h;
|
||||||
if (m==SANE_TRUE) /* no non-blocking-mode */
|
if (m==SANE_TRUE) /* no non-blocking-mode */
|
||||||
return SANE_STATUS_UNSUPPORTED;
|
return SANE_STATUS_UNSUPPORTED;
|
||||||
return SANE_STATUS_GOOD;
|
return SANE_STATUS_GOOD;
|
||||||
|
@ -797,6 +797,6 @@ sane_set_io_mode(SANE_Handle h, SANE_Bool m)
|
||||||
SANE_Status
|
SANE_Status
|
||||||
sane_get_select_fd(SANE_Handle handle, SANE_Int *fd)
|
sane_get_select_fd(SANE_Handle handle, SANE_Int *fd)
|
||||||
{
|
{
|
||||||
handle++; fd++;
|
handle=handle; fd=fd;
|
||||||
return SANE_STATUS_UNSUPPORTED; /* we have no file IO */
|
return SANE_STATUS_UNSUPPORTED; /* we have no file IO */
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,3 @@
|
||||||
;
|
|
||||||
; SANE Backend specification file
|
|
||||||
;
|
|
||||||
; It's basically emacs-lisp --- so ";" indicates comment to end of line.
|
; It's basically emacs-lisp --- so ";" indicates comment to end of line.
|
||||||
; All syntactic elements are keyword tokens, followed by a string or
|
; All syntactic elements are keyword tokens, followed by a string or
|
||||||
; keyword argument, as specified.
|
; keyword argument, as specified.
|
||||||
|
@ -22,4 +19,12 @@
|
||||||
|
|
||||||
:model "ScanMaker 3600"
|
:model "ScanMaker 3600"
|
||||||
:interface "USB"
|
:interface "USB"
|
||||||
|
:comment "works"
|
||||||
|
|
||||||
|
:model "ScanMaker 3700"
|
||||||
|
:interface "USB"
|
||||||
|
:comment "works"
|
||||||
|
|
||||||
|
:model "ScanMaker 3750"
|
||||||
|
:interface "USB"
|
||||||
|
:comment "works (told)"
|
||||||
|
|
|
@ -21,7 +21,9 @@ Vendor Product id: Remark:
|
||||||
-------- -------------- -----------
|
-------- -------------- -----------
|
||||||
.br
|
.br
|
||||||
Microtek ScanMaker 3600 all modes ok
|
Microtek ScanMaker 3600 all modes ok
|
||||||
|
.br
|
||||||
Microtek ScanMaker 3700 reported to work
|
Microtek ScanMaker 3700 reported to work
|
||||||
|
.br
|
||||||
Microtek ScanMaker 3750 reported to work
|
Microtek ScanMaker 3750 reported to work
|
||||||
.RE
|
.RE
|
||||||
.PP
|
.PP
|
||||||
|
@ -57,7 +59,10 @@ support dynamic loading).
|
||||||
.SH PERMISSIONS AND INTERFACES
|
.SH PERMISSIONS AND INTERFACES
|
||||||
|
|
||||||
The backend uses \fBlibusb\fR and it's pseudo files in
|
The backend uses \fBlibusb\fR and it's pseudo files in
|
||||||
\fI/proc/bus/usb/*\fR.
|
\fI/proc/bus/usb/*\fR. Since \fBlibusb\fR versions 0.1.3b and 0.1.4 have
|
||||||
|
incompatible binary data structures, You must be shure not to have obsolete
|
||||||
|
header files. When You mix wrong versions, the scanner detection code will
|
||||||
|
raise a "segment violation".
|
||||||
|
|
||||||
These files are normally owned by \fBroot\fR and You are responsible
|
These files are normally owned by \fBroot\fR and You are responsible
|
||||||
to get access to these files, for example \fBchown\fR-ing them to
|
to get access to these files, for example \fBchown\fR-ing them to
|
||||||
|
|
Ładowanie…
Reference in New Issue