kopia lustrzana https://gitlab.com/sane-project/backends
Merge branch 'lexmark_X2670_backend' into 'master'
Lexmark x2600 backend See merge request sane-project/backends!769merge-requests/569/head
commit
8096f84a6f
|
@ -58,3 +58,7 @@ test-suite.log
|
|||
|
||||
# `make dist` artifacts
|
||||
/sane-backends-*.tar.gz
|
||||
|
||||
# editor temp files
|
||||
*~
|
||||
\#*\#
|
||||
|
|
|
@ -75,8 +75,8 @@ BACKEND_CONFS= abaton.conf agfafocus.conf apple.conf artec.conf \
|
|||
epson.conf epsonds.conf escl.conf fujitsu.conf genesys.conf \
|
||||
gphoto2.conf gt68xx.conf hp3900.conf hp4200.conf hp5400.conf \
|
||||
hp.conf hpsj5s.conf hs2p.conf ibm.conf kodak.conf kodakaio.conf\
|
||||
kvs1025.conf \
|
||||
leo.conf lexmark.conf ma1509.conf magicolor.conf \
|
||||
kvs1025.conf leo.conf lexmark.conf lexmark_x2600.conf \
|
||||
ma1509.conf magicolor.conf \
|
||||
matsushita.conf microtek2.conf microtek.conf mustek.conf \
|
||||
mustek_pp.conf mustek_usb.conf nec.conf net.conf \
|
||||
p5.conf \
|
||||
|
@ -173,7 +173,7 @@ be_convenience_libs = libabaton.la libagfafocus.la \
|
|||
libhp5400.la libhp5590.la libhpljm1005.la \
|
||||
libhpsj5s.la libhs2p.la libibm.la libkodak.la libkodakaio.la\
|
||||
libkvs1025.la libkvs20xx.la libkvs40xx.la \
|
||||
libleo.la liblexmark.la libma1509.la libmagicolor.la \
|
||||
libleo.la liblexmark.la liblexmark_x2600.la libma1509.la libmagicolor.la \
|
||||
libmatsushita.la libmicrotek.la libmicrotek2.la \
|
||||
libmustek.la libmustek_pp.la libmustek_usb.la \
|
||||
libmustek_usb2.la libnec.la libnet.la \
|
||||
|
@ -208,7 +208,7 @@ be_dlopen_libs = libsane-abaton.la libsane-agfafocus.la \
|
|||
libsane-hpsj5s.la libsane-hs2p.la libsane-ibm.la libsane-kodak.la libsane-kodakaio.la\
|
||||
libsane-kvs1025.la libsane-kvs20xx.la libsane-kvs40xx.la \
|
||||
libsane-leo.la \
|
||||
libsane-lexmark.la libsane-ma1509.la libsane-magicolor.la \
|
||||
libsane-lexmark.la libsane-lexmark_x2600.la libsane-ma1509.la libsane-magicolor.la \
|
||||
libsane-matsushita.la libsane-microtek.la libsane-microtek2.la \
|
||||
libsane-mustek.la libsane-mustek_pp.la libsane-mustek_usb.la \
|
||||
libsane-mustek_usb2.la libsane-nec.la libsane-net.la \
|
||||
|
@ -1147,6 +1147,22 @@ EXTRA_DIST += lexmark.conf.in
|
|||
# TODO: Why are these distributed but not compiled?
|
||||
EXTRA_DIST += lexmark_models.c lexmark_sensors.c
|
||||
|
||||
liblexmark_x2600_la_SOURCES = lexmark_x2600.c lexmark_x2600.h
|
||||
liblexmark_x2600_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=lexmark_x2600
|
||||
|
||||
nodist_libsane_lexmark_x2600_la_SOURCES = lexmark_x2600-s.c
|
||||
libsane_lexmark_x2600_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=lexmark_x2600
|
||||
libsane_lexmark_x2600_la_LDFLAGS = $(DIST_SANELIBS_LDFLAGS)
|
||||
libsane_lexmark_x2600_la_LIBADD = $(COMMON_LIBS) \
|
||||
liblexmark_x2600.la \
|
||||
../sanei/sanei_init_debug.lo \
|
||||
../sanei/sanei_constrain_value.lo \
|
||||
../sanei/sanei_config.lo \
|
||||
sane_strstatus.lo \
|
||||
../sanei/sanei_usb.lo \
|
||||
$(USB_LIBS) $(RESMGR_LIBS)
|
||||
EXTRA_DIST += lexmark_x2600.conf.in
|
||||
|
||||
libma1509_la_SOURCES = ma1509.c ma1509.h
|
||||
libma1509_la_CPPFLAGS = $(AM_CPPFLAGS) -DBACKEND_NAME=ma1509
|
||||
|
||||
|
|
|
@ -829,7 +829,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option, SANE_Action action,
|
|||
case SANE_ACTION_SET_VALUE:
|
||||
|
||||
if (!SANE_OPTION_IS_SETTABLE (lexmark_device->opt[option].cap))
|
||||
return SANE_STATUS_INVAL;
|
||||
return SANE_STATUS_INVAL;
|
||||
|
||||
/* Make sure boolean values are only TRUE or FALSE */
|
||||
if (lexmark_device->opt[option].type == SANE_TYPE_BOOL)
|
||||
|
|
Plik diff jest za duży
Load Diff
|
@ -0,0 +1,2 @@
|
|||
# X26xx series
|
||||
usb 0x043d 0x011d
|
|
@ -0,0 +1,151 @@
|
|||
/* lexmark_x2600.c: SANE backend for Lexmark x2600 scanners.
|
||||
|
||||
(C) 2023 "Benoit Juin" <benoit.juin@gmail.com>
|
||||
|
||||
This file is part of the SANE package.
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation; either version 2 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
As a special exception, the authors of SANE give permission for
|
||||
additional uses of the libraries contained in this release of SANE.
|
||||
|
||||
The exception is that, if you link a SANE library with other files
|
||||
to produce an executable, this does not by itself cause the
|
||||
resulting executable to be covered by the GNU General Public
|
||||
License. Your use of that executable is in no way restricted on
|
||||
account of linking the SANE library code into it.
|
||||
|
||||
This exception does not, however, invalidate any other reasons why
|
||||
the executable file might be covered by the GNU General Public
|
||||
License.
|
||||
|
||||
If you submit changes to SANE to the maintainers to be included in
|
||||
a subsequent release, you agree by submitting the changes that
|
||||
those changes may be distributed with this exception intact.
|
||||
|
||||
If you write modifications of your own for SANE, it is your choice
|
||||
whether to permit this exception to apply to your modifications.
|
||||
If you do not wish that, delete this exception notice.
|
||||
|
||||
**************************************************************************/
|
||||
#ifndef LEXMARK_X2600_H
|
||||
#define LEXMARK_X2600_H
|
||||
#define BACKEND_NAME lexmark_x2600
|
||||
#include "../include/sane/config.h"
|
||||
|
||||
#include <errno.h>
|
||||
#include <signal.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/wait.h>
|
||||
#include <time.h>
|
||||
#include <unistd.h>
|
||||
#include <fcntl.h>
|
||||
#include <ctype.h>
|
||||
#include <sys/time.h>
|
||||
|
||||
#include "../include/_stdint.h"
|
||||
#include "../include/sane/sane.h"
|
||||
#include "../include/sane/sanei.h"
|
||||
#include "../include/sane/saneopts.h"
|
||||
#include "../include/sane/sanei_config.h"
|
||||
#include "../include/sane/sanei_usb.h"
|
||||
#include "../include/sane/sanei_backend.h"
|
||||
|
||||
|
||||
typedef struct Read_Buffer
|
||||
{
|
||||
SANE_Int gray_offset;
|
||||
SANE_Int max_gray_offset;
|
||||
SANE_Int region;
|
||||
SANE_Int red_offset;
|
||||
SANE_Int green_offset;
|
||||
SANE_Int blue_offset;
|
||||
SANE_Int max_red_offset;
|
||||
SANE_Int max_green_offset;
|
||||
SANE_Int max_blue_offset;
|
||||
SANE_Byte *data;
|
||||
SANE_Byte *readptr;
|
||||
SANE_Byte *writeptr;
|
||||
SANE_Byte *max_writeptr;
|
||||
size_t size;
|
||||
size_t linesize;
|
||||
size_t last_line_bytes_read;
|
||||
SANE_Bool empty;
|
||||
SANE_Int image_line_no;
|
||||
SANE_Int write_byte_counter;
|
||||
SANE_Int read_byte_counter;
|
||||
}
|
||||
Read_Buffer;
|
||||
|
||||
|
||||
typedef enum
|
||||
{
|
||||
OPT_NUM_OPTS = 0,
|
||||
OPT_MODE,
|
||||
OPT_RESOLUTION,
|
||||
OPT_PREVIEW,
|
||||
|
||||
OPT_GEOMETRY_GROUP,
|
||||
OPT_TL_X, /* top-left x */
|
||||
OPT_TL_Y, /* top-left y */
|
||||
OPT_BR_X, /* bottom-right x */
|
||||
OPT_BR_Y, /* bottom-right y */
|
||||
|
||||
/* must come last: */
|
||||
NUM_OPTIONS
|
||||
}
|
||||
Lexmark_Options;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
READ = 0,
|
||||
WRITE = 1,
|
||||
}
|
||||
Debug_Packet;
|
||||
|
||||
|
||||
typedef struct Lexmark_Device
|
||||
{
|
||||
struct Lexmark_Device *next;
|
||||
SANE_Bool missing; /**< devices has been unplugged or swtiched off */
|
||||
|
||||
SANE_Device sane;
|
||||
SANE_Option_Descriptor opt[NUM_OPTIONS];
|
||||
Option_Value val[NUM_OPTIONS];
|
||||
SANE_Parameters params;
|
||||
SANE_Int devnum;
|
||||
long data_size;
|
||||
SANE_Bool initialized;
|
||||
SANE_Bool eof;
|
||||
SANE_Int x_dpi;
|
||||
SANE_Int y_dpi;
|
||||
long data_ctr;
|
||||
SANE_Bool device_cancelled;
|
||||
SANE_Int cancel_ctr;
|
||||
SANE_Byte *transfer_buffer;
|
||||
size_t bytes_read;
|
||||
size_t bytes_remaining;
|
||||
size_t bytes_in_buffer;
|
||||
SANE_Byte *read_pointer;
|
||||
Read_Buffer *read_buffer;
|
||||
}
|
||||
Lexmark_Device;
|
||||
|
||||
|
||||
void debug_packet(const SANE_Byte * source, SANE_Int source_size, Debug_Packet dp);
|
||||
|
||||
#endif /* LEXMARK_X2600_H */
|
|
@ -672,7 +672,7 @@ ALL_BACKENDS="abaton agfafocus apple artec artec_eplus48u as6e \
|
|||
dell1600n_net dmc epjitsu epson epson2 epsonds escl fujitsu \
|
||||
genesys gphoto2 gt68xx hp hp3500 hp3900 hp4200 hp5400 \
|
||||
hp5590 hpsj5s hpljm1005 hs2p ibm kodak kodakaio kvs1025 kvs20xx \
|
||||
kvs40xx leo lexmark ma1509 magicolor \
|
||||
kvs40xx leo lexmark lexmark_x2600 ma1509 magicolor \
|
||||
matsushita microtek microtek2 mustek mustek_pp \
|
||||
mustek_usb mustek_usb2 nec net niash pie pieusb pint \
|
||||
pixma plustek plustek_pp qcam ricoh ricoh2 rts8891 s9036 \
|
||||
|
|
|
@ -38,7 +38,7 @@ BACKEND_5MANS = sane-abaton.5 sane-agfafocus.5 sane-apple.5 sane-as6e.5 \
|
|||
sane-hp5590.5 sane-hpljm1005.5 sane-cardscan.5 sane-hp3900.5 \
|
||||
sane-epjitsu.5 sane-hs2p.5 sane-canon_dr.5 sane-xerox_mfp.5 \
|
||||
sane-rts8891.5 sane-coolscan3.5 sane-kvs1025.5 sane-kvs20xx.5 \
|
||||
sane-kvs40xx.5 sane-p5.5 sane-magicolor.5
|
||||
sane-kvs40xx.5 sane-p5.5 sane-magicolor.5 sane-lexmark_x2600.5
|
||||
|
||||
EXTRA_DIST += sane-abaton.man sane-agfafocus.man sane-apple.man sane-as6e.man \
|
||||
sane-canon_lide70.man \
|
||||
|
@ -64,7 +64,7 @@ EXTRA_DIST += sane-abaton.man sane-agfafocus.man sane-apple.man sane-as6e.man \
|
|||
sane-cardscan.man sane-hp3900.man sane-epjitsu.man sane-hs2p.man \
|
||||
sane-canon_dr.man sane-xerox_mfp.man sane-rts8891.man \
|
||||
sane-coolscan3.man sane-kvs1025.man sane-kvs20xx.man sane-kvs40xx.man \
|
||||
sane-p5.man sane-magicolor.man
|
||||
sane-p5.man sane-magicolor.man sane-lexmark_x2600.man
|
||||
|
||||
man7_MANS = sane.7
|
||||
EXTRA_DIST += sane.man
|
||||
|
|
Ładowanie…
Reference in New Issue